我开始想知道为什么浮点数有时表现得如此奇怪。我发现这是因为一个数字必须用32位或64位表示,所以在某些时候需要简化和舍入数字。
所以我在Python上进行了一些实验,以更好地了解浮点数的行为:
1-0.000000000000000001 == 1
按预期返回True
。
但0.000000000000000001 == 0
和0.9999999999999999 == 1
会返回False
。
值得注意的是,1-0.000000000000000001 == 0.9999999999999999
也会返回False
我有什么遗失的吗?