为什么python Decimal类型中存在负NaN

时间:2017-03-27 06:51:07

标签: python-3.x decimal nan

出于好奇,为什么Decimal类型中存在负NaN?

>>> Decimal('-nan')
Decimal('-NaN')
>>> float('-nan')
nan

1 个答案:

答案 0 :(得分:0)

您也可以获得浮点符号NaN。在IEEE754(大多数 python解释器使用的)中,格式由三个字段组成:符号位,指数和分数。

NaN由指数中的1位和必须为非零的分数分量表示。

未指定符号位。这允许签名 NaN的可能性,尽管假设所有NaN都将false视为相等(包括它自己),这种区别是人为的。

Decimal类型遵循相同的约定:符号位不是由其NaN表示设置的,因此发出了签名NaN的可能性。