我只是回顾了 Python 的一些基础知识,并且有一个关于比较浮点数的棘手问题。
2.2 * 3.0 == 6.6
3.3 * 2.0 == 6.6
I thought these should both return a False. However, the second one gave me a True.
请在这里帮助我。谢谢!
这可能很有启发:
>>> float.hex(2.2 * 3.0)
'0x1.a666666666667p+2'
>>> float.hex(3.3 * 2.0)
'0x1.a666666666666p+2'
>>> float.hex(6.6)
'0x1.a666666666666p+2'
虽然它们都以十进制显示为6.6
,当你检查内部表示时,其中两个以相同的方式表示,而其中一个则不是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)