Documente Academic
Documente Profesional
Documente Cultură
N
B este baza exponentului.
Aceast reprezentare poate fi memorat ntr-un cuvnt binar cu trei cmpuri:
semnul, exponentul i mantisa. De exemplu, presupunnd un cuvnt de 32 de bii,
o asignare posibil a biilor la fiecare cmp poate fi urmtoarea:
31 30 23 22 0
S Exponent Mantisa
0,00111 2 3
0 0000 0011 0011 1000 0000 0000 0000 000
2
Cursul 6 INFORMATIC APLICAT
N
Problema care apare n cazul formatului prezentat este c nu exist o
reprezentare pentru valoarea 0. Aceasta deoarece valoarea 0 nu poate fi
normalizat. Totui, reprezentrile n VM rezerv de obicei o combinaie special
de bii pentru reprezentarea valorii 0. De multe ori, aceast valoare se reprezint
prin cifre de 0 n cadrul mantisei i a exponentului. Un asemenea exemplu de
reprezentare este formatul standard definit de organizaia IEEE (standardul IEEE
754).
Depirea superioar apare atunci cnd exponentul depete valoarea
maxim, de exemplu peste 127 n cazul formatului prezentat. Depirea inferioar
apare atunci cnd exponentul are o valoare negativ prea mic, de exemplu sub
128 . n cazul depirii inferioare, rezultatul se poate aproxima cu 0.
Coprocesoarele matematice i unitile de calcul n virgul mobil au anumite
mecanisme pentru detectarea, semnalizarea i tratarea depirii superioare i a celei
inferioare.
Pentru alegerea unui format n VM trebuie realizat un compromis ntre
dimensiunea mantisei i cea a exponentului. Creterea dimensiunii mantisei va
conduce la creterea preciziei numerelor, iar creterea dimensiunii exponentului va
conduce la creterea domeniului numerelor care pot fi reprezentate. Singura cale de
a crete att precizia, ct i domeniul numerelor, este de a utiliza un numr mai
mare de bii pentru reprezentare. Cele mai multe calculatoare utilizeaz cel puin
dou formate, n simpl precizie (de exemplu, pe 32 de bii), i dubl precizie (de
exemplu, pe 64 de bii).
3
Cursul 6 INFORMATIC APLICAT
4
Cursul 6 INFORMATIC APLICAT
M
cadrul formatului. Valoarea mantisei este n acest caz:
M I, F (1.6.)
Valoarea unui numr n precizie simpl N S , n precizie dubl N D i n
precizie dubl extins N E este:
N S 1 S M 2 E 127 (1.7.)
N D 1 S M 2 E 1023 (1.8.)
N E 1 S M 2 E 16383 (1.9.)
Una din problemele care apar la calculele cu numere n VM se refer la
modul de tratare al depirilor inferioare i superioare. O alt problem este
reprezentarea valorilor nedefinite. n acest scop, pe lng numerele normalizate,
N SD
standardul mai permite i reprezentri ale unor valori speciale, pentru care sunt
rezervate valoarea 0 i valoarea maxim a exponentului. Valorile speciale pentru
formatele cu precizie simpl i precizie dubl sunt prezentate n tabelul 2. n acest
tabel se indic i valorile numerelor normalizate n cele dou formate.
Tabelul 2 Valori ale numerelor reprezentate
conform standardului IEEE 754
Precizie simpl (32 bii)
Exponent Significand Valoare
0 0 1 S 0
0 0 1 S 2 E 126 0.F
E
1 254 orice valoare 1 S 2 E 127 1.F
255 0 1 S
255 0 NaN
Precizie dubl (64 bii)
Exponent Significand Valoare
0 0 1 S 0
0 0 1 S 2 E 1022 0.F
1 2046 orice valoare 1 S 2 E 1023 1.F
2047 0 1 S
2047 0 NaN
6
Cursul 6 INFORMATIC APLICAT
Pentru cazul n care apare o depire superioar, exist o reprezentare
special pentru infinit, constnd din exponentul cu valoare maxim pentru formatul
respectiv, i mantisa egal cu 0. n funcie de bitul de semn, sunt posibile dou
reprezentri pentru infinit, i . Valoarea infinit se poate utiliza ca
operand, utiliznd reguli ca:
n (1.10.)
n
0 (1.11.)
n
(1.12.)
0
Astfel, utilizatorul poate decide dac va trata depirea superioar ca o
condiie de eroare, sau va continua calculele cu valoarea infinit.
Pentru indicarea diferitelor condiii de excepie, ca n cazul operaiilor
0
nedefinite de forma , , 0 , ,
0
, sau extragerea rdcinii
0
ptrate dintr-un numr negativ, s-a prevzut un format special, care nu reprezint
un numr obinuit, fiind numit NaN (Not a Number). Exponentul are valoarea
maxim posibil, iar mantisa este diferit de 0.
Standardul IEEE specific faptul c atunci cnd argumentul unei operaii
este NaN, rezultatul trebuie s fie NaN. Datorit regulilor de execuie a operaiilor
aritmetice cu valori NaN, la scrierea subrutinelor de calcul n VM care accept o
valoare NaN ca argument nu sunt necesare verificri speciale. De exemplu,
presupunnd c funcia arccos se calculeaz pe baza funciei arctg, utiliznd
formula:
arccos x 2arctg 1 x / 1 x (1.13.)
Dac funcia arctg trateaz un argument NaN n mod corect, i funcia
arccos va trata un asemenea argument n mod corect. Dac x este o valoare NaN,
1 x , 1 x , 1 x 1 x i 1 x 1 x vor fi de asemenea valori NaN.
Astfel, nu este necesar testarea valorilor NaN.
7
Cursul 6 INFORMATIC APLICAT
8
Cursul 6 INFORMATIC APLICAT
Standardul prezint trei formate: precizie simpl (32 de bii), precizie dubl
(64 de bii) i precizie extins (80 de bii).
N 1 S 16 E 64 0.M (1.14.)
n cmpul exponentului se reprezint numere ntregi n exces de 64 i pentru
toate versiunile este format din 7 bii. Mantisa este un numr fracionar reprezentat
n semn-mrime nefolosindu-se soluia bit ascuns (hidden bit - 0.M ). Baza
nu mai este 2 ci 16 iar normalizarea se face n consecin, fiecare incrementare sau
N
decrementare a exponentului mutnd virgula la stnga sau la dreapta cu 4 poziii
binare.
n acest standard nu avem posibilitatea de a reprezenta situaii speciale de tip
NaN (Not a Number), nici de depire, nici de denormalizare, iar zero este
reprezentat cu zero peste tot. Datorit bazei 16 cmpul valoric de reprezentare a
numerelor este mult mai mare: 5.4 10 79 7.24 10 75 .