Warum ist NaN nicht gleich NaN? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Was ist der Grund für alle Vergleiche, die für IEEE754-NaN-Werte false zurückgeben? 13 answers

Der relevante IEEE-Standard definiert eine numerische Konstante NaN (keine Zahl) und schreibt vor, dass NaN als ungleich sich selbst zu vergleichen ist. Warum das

Alle Sprachen, mit denen ich vertraut bin, implementieren diese Regel. Dies führt jedoch häufig zu erheblichen Problemen, beispielsweise zu unerwartetem Verhalten, wenn NaN in einem Container gespeichert ist, wenn NaN in den zu sortierenden Daten enthalten ist usw. Ganz zu schweigen davon, dass die große Mehrheit der Programmierer erwartet, dass ein Objekt mit sich selbst übereinstimmt ( bevor sie etwas über NaN erfahren, sind sie so überraschend, dass sie die Fehler und die Verwirrung noch verstärken.

IEEE-Standards sind gut durchdacht, daher gibt es sicher einen guten Grund, warum ein Vergleich von NaN mit sich selbst schlecht wäre. Ich kann einfach nicht herausfinden, was es ist.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage