`always returns unordered result` 是否意味着`returns false`
Does `always returns unordered result` meaning `returns false`
我正在阅读有关 NaN
here 的内容,上面写着:
A comparison with a NaN always returns an unordered result even when
comparing with itself.
我对无序这个词感到困惑。出于实际原因,这是否意味着比较将始终计算为 false
?好像是这样的:
// all statemens below evaluate to false
NaN === NaN
NaN > NaN
NaN < NaN
NaN > 3
NaN < 3
NaN === 3
是的。当比较两个浮点数 a
和 b
时,将恰好有 4 个结果中的 1 个:
a
小于b
a
等于 b
a
大于 b
a
和 b
是无序的。
IEEE754 规范指出,当 a
或 b
是 NaN 时,a
和 b
是无序的(包括 a
和 b
是 NaN).
在大多数语言中,前 3 个都有自己的谓词(通常是 <
、==
、>
)。无序情况不会,但可以通过检查所有其他情况是否为假来进行测试。
我正在阅读有关 NaN
here 的内容,上面写着:
A comparison with a NaN always returns an unordered result even when comparing with itself.
我对无序这个词感到困惑。出于实际原因,这是否意味着比较将始终计算为 false
?好像是这样的:
// all statemens below evaluate to false
NaN === NaN
NaN > NaN
NaN < NaN
NaN > 3
NaN < 3
NaN === 3
是的。当比较两个浮点数 a
和 b
时,将恰好有 4 个结果中的 1 个:
a
小于b
a
等于b
a
大于b
a
和b
是无序的。
IEEE754 规范指出,当 a
或 b
是 NaN 时,a
和 b
是无序的(包括 a
和 b
是 NaN).
在大多数语言中,前 3 个都有自己的谓词(通常是 <
、==
、>
)。无序情况不会,但可以通过检查所有其他情况是否为假来进行测试。