Zhi*_*iya 13 python floating-point
我只是回顾一些Python的基础知识,并且在比较浮点数方面存在一个棘手的问题.
2.2 * 3.0 == 6.6
3.3 * 2.0 == 6.6
Run Code Online (Sandbox Code Playgroud)
我以为这些都应该返回False.然而,第二个给了我一个真实.

请帮帮我.谢谢!
Ama*_*dan 13
这可能很有启发性:
>>> 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'
Run Code Online (Sandbox Code Playgroud)
虽然它们都以十进制显示6.6,但是当您检查内部表示时,其中两个以相同的方式表示,而其中一个不是.
| 归档时间: |
|
| 查看次数: |
16725 次 |
| 最近记录: |