如果我在Python 3中运行以下代码:
数字1:
我的结果是:1.0 + 1e-16
我想知道为什么?假设这些数字被存储为IEE754双精度(64位),那么我有以下表示这些数字的方式:1.0
数字1:
- 符号:0
- 指数:01111111111 --> 十进制数为1023
- 尾数:0...0
- 符号:0
- 指数:01111001101 --> 十进制数为973
- 尾数:0010000000111010111110011110111001110101011000010110
- 0.0...0100
- 符号:0
- 指数:01111111111
- 尾数:0000000000000000000000000000000000000000000000000100