所以我尝试在python控制台中检查Euler's İdentity:
import math
import cmath
cmath.exp(1j*math.pi)
结果是:
-1+1.2246063538223773e-16j
不应该只是-1。
答案 0 :(得分:4)
这对我来说非常接近 - 特别是因为math.pi
不是无限精确的 - 考虑到这一点,如果它给你-1+0j
,它实际上是错误的答案。
答案 1 :(得分:2)
想象一下你正在进行这个计算,但是你只用5位pi开始,然后在每个阶段你都会得到5个有效数字。你认为你会得到一个确切的答案吗?不,当然不是,每个阶段的微小错误都会在答案中产生错误。
浮点数学是相同的,除了这次你使用的是二进制而不是十进制。