在这种情况下,浮点加法如何工作?
In [6]: np.finfo(np.float64).max + 1
Out[6]: 1.7976931348623157e+308
为什么没有出现溢出?
请记住,浮点类型是一种科学记数法,这意味着它们距离 0 越远,精度就越高。 64 位浮点数的情况大约有 16 位十进制精度:53 位有效数
log10(2^53)
。这意味着任何小于这 16 位数字的值都会因舍入而丢失。
对于
10^308
来说确实如此。其幅度远远超出了 1
的值在 16 位精度之内的范围。