Dlaczego NaN nie jest równe NaN? [duplikować

To pytanie ma już odpowiedź tutaj:

Jakie jest uzasadnienie dla wszystkich porównań zwracających wartość false dla wartości NaN IEEE754? 13 odpowiedzi

Odpowiedni standard IEEE definiuje stałą liczbową NaN (nie liczbę) i nakazuje, aby NaN porównywał się jako nie równy sobie. Dlaczego

Wszystkie języki, które znam, implementują tę zasadę. Ale często powoduje poważne problemy, na przykład nieoczekiwane zachowanie, gdy NaN jest przechowywany w kontenerze, gdy NaN znajduje się w sortowanych danych itp. Nie wspominając, że znaczna większość programistów oczekuje, że jakikolwiek obiekt będzie sobie równy ( zanim dowiedzą się o NaN), więc ich zaskoczenie dodaje błędów i zamieszania.

tandardy @IEEE są dobrze przemyślane, więc jestem pewien, że istnieje dobry powód, dla którego porównywanie NaN jako równe sobie byłoby złe. Po prostu nie mogę zrozumieć, co to jest.

questionAnswers(6)

yourAnswerToTheQuestion