NaN

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , NaN este un simbol de avertizare care indică faptul că rezultatul unei operații (numerice) a fost obținut prin executarea acestuia pe operanzi nevalizi (în special în calculele cu virgulă mobilă ). Numele său este acronimul Not a Number (trad. „Nu este un număr”). Exemple sunt împărțirea la zero sau rădăcina pătrată a unui număr negativ, pe care FPU-urile le atribuie ca rezultat „NaN”.

NaN și virgulă mobilă

În calculele în virgulă mobilă, „NaN” și „infinit” nu sunt același lucru, deși în acest context ambele sunt tratate ca cazuri speciale în reprezentarea numerelor reale și în operații. O operație nevalidă diferă, de asemenea, atât de overflow, cât și de underflow aritmetic (care rezultă, respectiv, într-un număr infinit și un număr denormalizat sau un zero).

În standardul IEEE 754 în virgulă mobilă , NaN-urile sunt reprezentate cu câmpul exponențial umplut cu „1” și un număr diferit de zero în câmpul mantisă . Acesta este un exemplu:

 x11111111axxxxxxxxxxxxxxxxxxxxxxxx

Pentru primul bit (care reprezintă semnul) valoarea nu este de așteptat. Dacă a = 1, numărul este un NaN liniștit („NaN tăcut”), în timp ce dacă a = 0 există o NaN de semnalizare („semnalizare NaN”).

Fiecare NaN are o valoare diferită de orice alt număr, chiar și dintr-un NaN a cărui reprezentare este identică. Până la punctul în care este posibil să se verifice dacă conținutul unei variabile este un NaN comparându-l cu el însuși (x ≠ x implică faptul că x este un NaN).

În standardul actual , fiecare operație efectuată pe un NaN are ca rezultat un alt NaN, invalidând o serie întreagă de calcule în cazul unei erori în amonte care dă acest rezultat. În revizuirea (propusă în prezent) IEEE 754r , există două excepții: funcțiile maxime și minime (care returnează respectiv cel mai mare și cel mai mic număr între doi operanzi) dau preferință numerelor de pe NaN (acest lucru este util în cazul calculelor statistice pe date împrăștiate).

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT