【发布时间】:2013-12-24 16:57:06
【问题描述】:
Python 是否定义了“NaN > 0”的值?在我的 Python 解释器中,我得到:
>>> float('nan') > 0
False
但这能保证吗?
如果我理解正确,IEEE 754 标准分配了False to any comparison involving NaN。但是,我在 Python 文档中找不到任何表明遵循此标准的内容。我什至明白1/0 在 IEEE 754 下应该给出无穷大,但 Python 引发了一个异常 (ZeroDivisionError),因此 Python 并不完全遵循 IEEE 754。
那么,float('nan') > 0 的结果是否完全在 Python 中定义?我需要知道它是否在所有平台上以及所有版本的 Python(包括旧版本)上都相同。
【问题讨论】:
-
我认为 Python 中的 NaN 文档不足。这有点暗示它们是 IEEE 754,但似乎没有明确规定。
标签: python nan comparison-operators