你好,
也许这有一个非常简单的答案。我正在玩Python解释器。
>>> 1
1
>>> 1.1
1.1000000000000001
>>> 1.2
1.2
为什么1.1
被解释为1.1000000000000001
?
答案 0 :(得分:1)
这是由于数字在内部存储的方式。格式在IEEE_754-2008 speficiation中指定。
可以在单精度浮点here
上找到更多信息答案 1 :(得分:1)
为什么我的数字,如0.1 + 0.2加起来不是很好的一轮0.3,而且 相反,我得到一个奇怪的结果,如 0.30000000000000004吗
因为在内部,计算机使用a 格式(二进制浮点) 无法准确表示一个数字 像0.1,0.2或0.3一样。
编译代码时 解释,你的“0.1”已经存在 四舍五入到最接近的数字 格式,这导致一个小的 甚至在之前的舍入错误 计算发生了。
答案 2 :(得分:0)