np.float32(1e-8) + np.float32(1) == 1
True
np.float64(1e-8) + np.float64(1) == 1
False
我第一次不明白这一点。但是我发现了这个https://www.quora.com/What-is-the-range-of-float-and-double-data-type
他们说浮点数32的精度约为7个十进制数字,双精度(浮点数64)的精度约为16个十进制数字。因此,我得出的结论是此问题与精度有关。因为1e-8
在7位小数到16位小数之间。
但是,我仍然不相信我的结论。我说的对吗?