Documente Academic
Documente Profesional
Documente Cultură
X/Y= M x 2e x / M y 2 y = M x / M y 2( ex − ey ) = M z 2e z .
e
Cazuri excepționale
La împărțirea a două numere în virgulă mobilă pot apărea următoarele situații:
- Depășirea negativă a exponentului rezultatului;
- Depășirea pozitivă a exponentului rezultatului.
În cazul depășirii negative, rezultatul este interpretat ca fiind egal cu zero (cu excepția cazului
în care este prevăzută o tratare specială a acestei situații).
Dacă depășirea pozitivă are loc odată cu obținerea unei mantise denormalizate a produsului,
atunci în primul rând, mantisa rezultatului ar trebui normalizată. Dacă, după normalizarea mantizei,
depășirea exponentului nu este eliminată, atunci dispozitivul de calcul trebuie să interpreteze
rezultatul ca fiind egal cu infinit.
Exemplul 1.
Mx = 1.010110
Ex = 0.0011
My = 0.110101
Ey = 0.1001
a) denormalizarea deîmpărţitului
Se deplasează aritmetic cu o poziţie la dreapta mantisa deîmpărţitului, iar puterea lui se
incrementează. Ca rezultat se obţine:
Mx=1.101011,
Ex=Ex+1
Ex=0.0011
+1 1
Ex=0.0100
b) calcularea exponentului rezultatului
Folosind formula Ez=Ex–Ey, obţinem:
Ex 0.0100
–Ey 1.0111
Ez= 1.1011
c) calcularea mantisei rezultatului
Valoarea mantisei rezultatului (Mz) se obţine efectuînd operaţia Mz = Mx:My. La început se
determină semnul mantisei rezultatului prin adunarea modulo 2 a semnelor mantiselor operanzilor,
adică: Sz=Sx Ꚛ Sy=1 Ꚛ 0=1
Apoi se determină valoarea modulelor mantiselor ambilor operanzi:
IMxI=0.010101
IMyI=0.110101
-IMyI=1.001011
Împărţirea modulelor mantiselor operanzilor se va efectua folosind metoda fără restabilirea
restului cu deplasarea restului la stînga.
0.010101 modulul mantisei deîmpărţitului IMxI
1.001011 scăderea modulului mantisei împărţitorului IMyI, (adunarea –IMyI)
0. 1.100000 rest negativ, cifra cîtului este egală cu 0
1.000000 deplasarea restului la stînga
0.110101 adunarea modulului mantisei împărţitorului + IMyI
0 1.110101 rest negativ, cifra cîtului este egală cu 0
1.101010 deplasarea restului la stînga
0,110101 adunarea modulului mantisei împărţitorului + IMyI
1 0.011111 rest pozitiv, cifra cîtului este egală cu 1
0.111110 deplasarea restului la stînga
1.001011 scăderea modulului mantisei împărţitorului IMyI, (adunarea –IMyI)
1 0.001001 rest pozitiv, cifra cîtului este egală cu 1
0.010010 deplasarea restului la stînga
1.001011 scăderea modulului mantisei împărţitorului IMyI, (adunarea –IMyI)
0 1.011101 rest negativ, cifra cîtului este egală cu 0
0.111010 deplasarea restului la stînga
0.110101 adunarea modulului mantisei împărţitorului + IMyI
0 1.101111 rest negativ, cifra cîtului este egală cu 0
1.011110 deplasarea restului la stînga
0.110101 adunarea modulului mantisei împărţitorului + IMyI
1 0.010011 rest pozitiv, cifra cîtului este egală cu 1
În exemplul de mai sus au fost calculate 6 cifre după virgulă a cîtului ca şi lungimea
operanzilor.
Valoarea modulului mantisei cîtului obţinut este:
IMzI=0.011001.
Semnul mantisei rezultatului Sz=1, de aceea Mz=1.100111.
d) normalizarea rezultatului
La mantisa cîtului cifra semnului coincide cu cifra din poziţia cea mai semnificativă a valorii
mantisei, deci rezultatul nu este normalizat. Pentru al normaliza, mantisa se deplasează cu o poziţie
la stînga, iar puterea se decrementează.
Ez=Ez-1
Ez= 1.1011
-1= 1.1111
1.1010
În consecinţă rezultatul va fi: Mz=1.001110 și Ez=1.1010.
Exemplu 2
Mx = 0.111110
Ex = 0.1110
My = 1.010101
Ey = 0.1011
a) denormalizarea deîmpărţitului
Se deplasează aritmetic cu o poziţie la dreapta mantisa deîmpărţitului, iar puterea lui se
incrementează. Ca rezultat se obţine:
Mx=0.011111,
Ex=Ex+1
Ex=0.1110
+1 1
Ex=0.1111
b) calcularea exponentului rezultatului
Folosind formula Ez=Ex–Ey, obţinem:
Ex 0.1111
–Ey 1.0101
Ez= 0.0100
c) calcularea mantisei rezultatului
Valoarea mantisei rezultatului (Mz) se obţine efectuînd operaţia Mz = Mx:My. La început se
determină semnul mantisei rezultatului prin adunarea modulo 2 a semnelor mantiselor operanzilor,
adică: Sz=Sx Ꚛ Sy=0 Ꚛ 1=1
Apoi se determină valoarea modulelor mantiselor ambilor operanzi:
IMxI=0.011111
IMyI=0.101011
-IMyI=1.010101
Împărţirea modulelor mantiselor operanzilor se va efectua folosind metoda cu restabilirea
restului cu deplasarea restului la stînga.
0.011111 deîmpărţitul Mx
1.010101 scăderea împărţitorului My, (adunarea – My)
0 1.110100 rest negativ, cifra cîtului este egală cu 0
0.101011 restabilirea restului (adunarea + My)
0.011111 valoarea restabilită
0.111110 deplasarea restului la stînga
1.010101 scăderea împărţitorului My, (adunarea – My)
1 0.010011 rest pozitiv, cifra cîtului este egală cu 1
0.100110 deplasarea restului la stînga
1.010101 scăderea împărţitorului My, (adunarea – My)
0 1.111011 rest negativ, cifra cîtului este egală cu 0
0.101011 restabilirea restului (adunarea + My)
0.100110 valoarea restabilită
1.001100 deplasarea restului la stînga
1.010101 scăderea împărţitorului My, (adunarea – My)
1 0.100001 rest pozitiv, cifra cîtului este egală cu 1
1.000010 deplasarea restului la stînga
1.010101 scăderea împărţitorului My, (adunarea – My)
1 0.010111 rest negativ, cifra cîtului este egală cu 0
0.101110 deplasarea restului la stînga
1.010101 scăderea împărţitorului My, (adunarea – My)
1 0.000011 valoarea restabilită a restului
0.000110 deplasarea restului la stînga
1.010101 scăderea împărţitorului My, (adunarea – My)
0 1.011011 rest negativ, cifra cîtului este egală cu 0
În exemplul de mai sus au fost calculate 6 cifre după virgulă a cîtului ca şi lungimea
operanzilor.
Valoarea modulului mantisei cîtului obţinut este:
IMzI=0.101110.
Semnul mantisei rezultatului Sz=1, de aceea Mz=1.010010.
d) normalizarea rezultatului
La mantisa cîtului cifra semnului nu coincide cu cifra din poziţia cea mai semnificativă a
valorii mantisei, deci rezultatul este normalizat.
În consecinţă rezultatul va fi:
Mz=1.010010
Ez=0.0100.