为什么南不等于南?
相关的IEEE标准定义了数值常数NaN(而不是数字),并规定NaN应该与其自身进行比较。那是为什么?
我熟悉的所有语言都实现了这个规则。但是,它经常会导致重大问题,例如当NaN存储在容器中,当NaN存储在正在排序的数据中时,等等。更不用说,绝大多数程序员期望任何对象都与自身相等(在他们了解NaN之前),因此,令人惊讶的是,它们增加了错误和混乱。
IEEE标准是经过深思熟虑的,所以我相信有一个很好的理由,为什么NaN与其本身相比是不好的。我就是搞不懂是什么。
呼如林
相关分类