Lade...
 

CX_FLOAT::IsNaN

CX_FLOAT::IsNaN

209838
Beschreibung:

Da CX_FLOAT auf dem IEEE-Standard 754 aufsetzt, ist es auch möglich, durch eine Rechnung auf das Ergebnis NaN (Not a Number) zu kommen. Hierbei wird keine Exception geworfen, man kann mit diesem Wert normal weiterrechnen, nur dass NaN ∘ X = NaN gilt für jede Operation. Per IsNaN() kann geprüft werden, ob ein CX_FLOAT NaN enthält.

Code-Beispiel:
Var(one, zero, nan)
CreateTransObject(CX_FLOAT) -> one
CreateTransObject(CX_FLOAT) -> zero
1 one Put 0 zero Put

one     // 1
zero /  // ∞ 
zero *  // NaN
one +   // NaN
-> nan

nan Call(IsNaN) // TRUE
nan nan = // FALSE (NaN is never equal to NaN)

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_FLOAT die Zahl
Stack(Out) Top INTEGER TRUE/FALSE

Funktionsaufruf: Call(IsNaN)