NaN (engl. Not a Number) bedeutet "keine Zahl". Es handelt sich hierbei um einen speziellen Wert bestimmter Darstellungen von Fließkommazahlen auf dem Computer, der als Ergebnis einer ungültigen Rechenoperation zurückgegeben wird. Insbesondere haben die heute weit verbreiteten Fließkommadarstellungen nach IEEE 754 bzw. IEC 559 NaNs.
Beispiele:
- Division von Null durch Null. Division einer anderen Zahl durch Null liefert zumindest bei IEEE-konformen Implementierungen keine NaN, sondern den speziellen Wert Inf bzw. -Inf (für Infinity = unendlich).
- Berechnung der Wurzel aus einer negativen Zahl.
Man unterscheidet zwischen silent NaNs und signalling NaNs. Für silent NaNs liefern die meisten arithmetischen Operationen selber wiederum NaN zurück, wenn eines ihrer Argumente NaN ist. Der Gebrauch eines signalling NaN hingegen verursacht sofort einen Laufzeitfehler.
Vergleicht man ein NaN-wertiges Ergebnis mit sich selbst, dann besteht Ungleichheit.
Siehe auch: Nan, Hauptstadt der gleichnamigen Provinz in Nord-Thailand.