Python float-模精度

时间:2018-06-20 16:26:59

标签: python-3.x precision modulo ieee-754

我编写了如下的python脚本,以测试模1的使用以提取浮点数x的小数部分:

while( condition ):
        x *= 2
        print(x)
        decimal = x%1
        print(decimal)

这是示例输出:

x:1.44
x%1:0.43999999999999995
x:2.88
x%1:0.8799999999999999
....
....

有人可以解释应用模1后精度下降的原因吗?浮点数的53位精度足以表示0.44。哪种操作(我采用的是IEEE 754表示法)导致精度降低到0.43999999999999995?
我正在使用python 3.6

很明显,此类错误可以在浮点数学中找到。但是我想知道这里是否有人知道什么操作触发了这种精度损失。即最初的IEEE 754表示怎么了?为什么?

0 个答案:

没有答案