Operatiile aritmetice de baza pentru aceste numere sunt prezentate in Tabelul
6.12. Pentru adunare si scadere este necesar ca ambii operanzi sa aiba acelasi exponent.
Pentru aceasta poate fi necesara deplasarea virgulei binare a unuia din operanzi pentru a
realiza alinierea mantiselor. Inmultirea si impartirea nu necesita aceasta operatie.
Tabelul 6.12. Operatii aritmetice cu numere reprezentate in virgula mobila.
Operatie
Rezultat
x + y x y
E
y
E E
MxB M B E E x y + x y <= - ( ) ,
x - y x y
E
y
E E
MxB M B E E x y - x y <= - ( ) ,
x x y Ex Ey
Mx My B + ( x )x
x ? y Ex Ey
Mx My B - ( ? )x
6.3.1. Adunarea si scaderea in virgula mobila
Adunarea si scaderea in VM sunt mai complexe decat inmultirea si impartirea.
Aceasta deoarece pentru adunarea sau scaderea corecta a celor doua numere, trebuie sa
se realizeze egalizarea exponentilor acestora. Aceasta implica compararea marimii exponentilor
si apoi alinierea mantisei numarului cu exponentul mai mic. Algoritmul pentru
adunare si scadere are patru etape principale:
1. Alinierea mantiselor;
2. Adunarea sau scaderea mantiselor;
3. Normalizarea rezultatului;
4. Rotunjirea rezultatului.
Organigrama pentru adunare si scadere este prezentata in Figura 6.17.
Inaintea operatiei, cei doi operanzi trebuie transferati in registrele care vor fi
utilizate de UAL. Daca formatul de reprezentare in VM cuprinde un bit implicit al mantisei,
acest bit trebuie reprezentat in mod explicit pentru operatie. In mod tipic, exponentii
si mantisele vor fi pastrate in registre separate, si vor fi reunite dupa obtinerea rezultatului.
Deoarece adunarea si scaderea sunt identice cu exceptia semnului diferit al
operandului al doilea, in cazul operatiei de scadere se schimba semnul scazatorului. Urmatoarea
etapa este alinierea mantiselor. Aceasta necesita compararea celor doi exponenti
si apoi alinierea mantisei numarului cu exponentul mai mic. Alinierea se realizeaza
prin deplasarea repetata la dreapta a mantisei cu cate o pozitie si incrementarea exponentului
pana cand cei doi exponenti devin egali. Daca in urma acestui proces mantisa
care a fost deplasata devine 0, atunci se raporteaza ca rezultat celalalt numar. Astfel,
6. Unitatea aritmetica si logica 201
daca cele doua numere au exponenti care difera in mod semnificativ, numarul mai mic
va fi neglijat.
In continuare, se aduna mantisele, tinand cont de semnele acestora. Deoarece
semnele pot fi diferite, rezultatul poate fi 0. Exista de asemenea posibilitatea aparitiei
unei depasiri cu un bit a mantisei rezultatului. In acest caz, mantisa rezultatului este deplasata
la dreapta cu o pozitie si exponentul este incrementat. In urma deplasarii, poate
apare o depasire a exponentului; in acest caz, se raporteaza o depasire, iar operatia este
oprita.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.