為什么南不等于南?相關(guān)的IEEE標(biāo)準(zhǔn)定義了數(shù)值常數(shù)NaN(而不是數(shù)字),并規(guī)定NaN應(yīng)該與其自身進(jìn)行比較。那是為什么?我熟悉的所有語(yǔ)言都實(shí)現(xiàn)了這個(gè)規(guī)則。但是,它經(jīng)常會(huì)導(dǎo)致重大問(wèn)題,例如當(dāng)NaN存儲(chǔ)在容器中,當(dāng)NaN存儲(chǔ)在正在排序的數(shù)據(jù)中時(shí),等等。更不用說(shuō),絕大多數(shù)程序員期望任何對(duì)象都與自身相等(在他們了解NaN之前),因此,令人驚訝的是,它們?cè)黾恿隋e(cuò)誤和混亂。IEEE標(biāo)準(zhǔn)是經(jīng)過(guò)深思熟慮的,所以我相信有一個(gè)很好的理由,為什么NaN與其本身相比是不好的。我就是搞不懂是什么。
為什么南不等于南?
侃侃爾雅
2019-06-24 13:02:51