我有点难以理解这些双精度浮点数的精度如何影响Matlab中算术运算的结果。我认为既然a和b都是双精度浮点数,它们应该能够进行高达该精度的操作。我意识到可能会有舍入误差,但由于这些数字远远在64位数字表示范围内,所以我认为这不会是一个问题。
a = 1.22e-45
b = 1
a == 0
ans = 0 %a is not equal to zero
(a + b) == 1
ans = 1
为什么它能够具备足够的精度来识别 a != 0,但是当加上1时却没有显示任何变化。
±(1+f)*2^e
... 是我搞错了 :) - Amro