Sunteți pe pagina 1din 15

Aritmetica n sistemele de calcul

1. Sisteme de numeraie

Un sistem de numeraie este reprezentat prin totalitatea regulilor de reprezentare a


numerelor, cu ajutorul unor simboluri numite cifre. Cifra este un simbol care reprezint o
cantitate ntreag.
Baza (rdcina) sistemului de numeraie este numrul de simboluri diferite permise
pentru reprezentarea numerelor.
n sistemele de calcul se utilizeaz sistemul de numeraie binar, B 2 = {0,1}, acesta
prezentnd o serie de avantaje:
existena unei corespondene biunivoce cu strile stabile ale unui circuit electronic
digital;
are o aritmetic simpl;
analiza i sinteza blocurilor funcionale ale calculatorului se pot efectua cu ajutorul
algebrei booleene, construit pe mulimea B2.

Conversia unui numr dintr-o baz de numeraie ntr-o nou baz de numeraie
se face examinnd separat partea ntreag i partea fracionar.
S lum, de exemplu, numrul 121,45 n zecimal. Se dorete transformarea acestuia
n baza 2. Pentru a putea realiza acest lucru, vom privi numrul dat ca dou numere
distincte: partea ntreag 121 i partea fracionar 0,45. Prima dat vom transforma numrul
121 n binar, prin mpriri succesive la 2 i prin luarea resturilor obinute la mpriri n
ordinea invers a obinerii.
12110 = 11110012
Pentru a transforma partea fracionar 0,45 n binar va trebui s efectum nmuliri
succesive cu 2 i s prelum partea ntreag a rezultatelor.
0,45 * 2 = 0,9 -> 0
0,9 * 2 = 1,8 -> 1
0,8 * 2 = 1,6 -> 1
0,6 * 2 = 1,2 -> 1

Algoritmul se oprete n momentul n care partea fracionar devine 0 sau s-a atins
precizia dorit (numrul de cifre pentru reprezentarea rezultatului).
0,4510 = 0,011100112
Prin concatenarea rezultatelor pariale se obine rezultatul final al conversiei. Astfel:
121,4510 = 1111001,011100112
Observaie: n timp ce numerele ntregi se pot reprezenta exact n binar, numerele
subunitare se reprezint aproximativ, fcnd excepie numai acele numere subunitare care
se pot scrie sub forma de sum de puteri negative ale lui 2 (0,5; 0,25 etc.).

Pentru transformarea invers, din binar n zecimal, vom nmuli biii numrului cu
puterile lui 2 corespunztoare rangului cifrei.
10110101,01101012 = 1*27 + 0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 + 0*2-1 +
1*2-2 + 1*2-3 + 0*2-4 + 1*2-5 + 0*2-6 + 1*2-7 181,414

2. Reprezentarea numerelor ntregi

Numerele ntregi se reprezint n calculator n formatul cu virgul fix. Numrul de bii


utilizai pentru reprezentare (n), determin numrul de valori distincte reprezentabile (2 n).
Pentru reprezentarea n calculator a numerelor ntregi fr semn se utilizeaz urmtoarele
coduri:
a) codul binar ponderat poziia fiecrui bit din reprezentare determin ponderea sa
n calculul valorii. Numrul se reprezint prin valoarea sa, pe toi cei n bii ai
reprezentrii, domeniul de valori fiind [0, 2n - 1].
Ex.: 1101 => 13
b) codul Gray are proprietatea c dou valori adiacente n cod difer printr-un singur
bit. n tabelul urmtor este prezentat codul Gray pe 4 bii.

Valoare (hexa) Cod binar Cod Gray


0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
A 1010 1111
B 1011 1110
C 1100 1010
D 1101 1011
E 1110 1001
F 1111 1000

n multe aplicaii se lucreaz ns cu numere ntregi cu semn (numere algebrice), deci


este necesar reprezentarea unui astfel de numr, folosind bitul de semn. Numerele
algebrice pozitive se reprezint ntotdeauna prin valoare (mrime), avnd bitul de semn egal
cu 0. Numerele negative se pot reprezenta n calculator utiliznd diferite coduri. Dintre
aceste coduri de reprezentare fac parte:

a) codul direct
Numerele ntregi se reprezint prin mrime (valoare absolut) i semn. Pentru
numerele negative, bitul cel mai semnificativ (de semn) este 1, iar celali n-1 bii
servesc pentru reprezentarea valorii absolute a numrului.
Ex.: N = -5 pe 8 bii => 10000101

b) codul invers (complement fa de 1)


Pentru numerele negative, bitul de semn este 1, ceilali n-1 bii servind pentru
reprezentarea valorii absolute negate a numrului. Negarea se realizeaz la nivel de
bit: biii 0 devin 1 i biii 1 devin 0.
Ex.: N = -5 pe 8 bii => 11111010

c) codul complementar (complement fa de 2)


Pentru reprezentarea numerelor negative se aplic urmtoarea regul de
complementare: se reprezint numrul n valoare absolut, apoi se inverseaz bit cu
bit, inclusiv bitul de semn (care devine 1) i se adun 1 la rezultatul obinut. Deci,
complementul fa de 2 se obine din complementul fa de 1, la care se adaug 1.

Ex.: N = -5 pe 8 bii se reprezint astfel:


|N| = 5, adic 00000101
prin inversare devine 11111010+
1
11111011

d) cod n exces
Aceast codificare const n adunarea unei valori constante la fiecare numr ntreg
(pozitiv sau negativ) care se reprezint. Valoarea constant notat E care se adun,
este de regul 2n-1, cu n numrul de bii ai reprezentrii.
Matematic, un numr ntreg N se reprezint n cod exces E prin: E + N.
Ex.: Numerele N1 = 5 i N2 = -5 se reprezint pe n = 8 bii, n exces 27 = 128, prin:

128 + 5 = 133 respectiv 128 + (-5) = 123

E 10000000 10000000
N 00000101 11111011
10000101 01111011

Fie D domeniul de numere ntregi ce se pot reprezenta pe n bii: D = [-2 n-1, 2n-1-1].
Utiliznd codul exces 2n-1, domeniul D se transform n domeniul de valori pozitive D = [0, 2 n-
1].
Deci, codul n exces poate transforma un domeniu de numere algebrice ntr-un
domeniu de numere aritmetice. Avantajul este c operaiile cu numere aritmetice se
implementeaz mai simplu (n hardware sau n software) dect operaiile cu numere
algebrice.

3. Operaii cu numere reprezentate n virgul fix

3.1. Adunarea i scderea n complement fa de doi

Operaiile de adunare i scdere se reduc la operaia de adunare a numerelor


reprezentate n cod complementar. Se adun cei doi operanzi bit cu bit, inclusiv biii de
semn, iar eventualul transport care rezult de la bitul de semn se va neglija. Rezultatul este
obinut n cod complementar.

Exemple:
a) x = 9, y = 5

00001001+ 9 + 5 = 14
00000101
00001110

b) x = 9, y = -5
Mai nti vom reprezenta -5 n complement fa de doi:
-5 => 11111011
Dup care realizm adunarea:
00001001+ 9-5=4
11111011
00000100

c) x = 5, y = -9

y = -9 n complement fa de 2 va fi: -9 => 11110111

00000101+ 5 9 = -4
11110111
11111100

Rezultatul obinut este negativ (bitul de semn are valoarea 1), reprezentat n
complement fa de 2. Pentru a afla valoarea absolut a rezultatului va trebui s l
complementm din nou fa de 2.
Prin inversare se obine: 00000011+
1
00000100 =4

3.2. nmulirea numerelor fr semn

Regulile de nmulire binar sunt prezentate mai jos:

Denmulit nmulitor Produs


0 0 0
0 1 0
1 0 0
1 1 1

Prezentm mai jos nmulirea a dou numere binare de cte 4 bii:


denmulitul 1011 11
nmulitorul 1101 13
1011
0000
1011
1011
produs 10001111 143

Rezultatul se obine pe lungime dubl, realizndu-se trunchierea acestuia la lungimea


simpl, dac este necesar.
Pentru operaia de nmulire pot fi stabilite urmtoarele reguli:
1) dac bitul LSB al nmulitorului este 1, se scrie dedesubt denmulitul deplasat cu o
poziie la stnga;
2) dac LSB este 0 se scrie dedesubt un numr de zerouri egal cu numrul de cifre al
denmulitului i apoi se face deplasarea cu o poziie la stnga;
3) pentru fiecare bit al nmulitorului se repet paii 1) sau 2) dup caz;
4) se adun toate produsele pariale pentru a forma rezultatul final.
3.3. mprirea numerelor fr semn

Operaia de mprire poate fi privit ca o scdere repetat a mpritorului din


demprit. Numrul care arat de cte ori se poate aplica scderea formeaz ctul, iar
reziduul rmas dup ultima scdere formeaz restul.

1101 10 13:2 => ct 6, rest 1


10 110
10
10
01
00
01

3.4. nmulirea numerelor n complement fa de 2. Metoda lui Booth

nmulirea a dou numere binare cu semn utiliznd deplasarea i adunarea


produselor pariale ridic unele probleme complicate privind testarea semnelor i execuia
coreciilor necesare.
O metod alternativ ar consta n salvarea semnelorcelor dou numere, conversia
numerelor negative n numere pozitive i apoi realizarea operaiei de nmulire conform
algoritmului descris mai sus. Dac semnele operanzilor sunt diferite, rezultatul este negativ i
produsul se va converti napoi n complement fa de 2.
Complicaiile metodelor descrise anterior pot fi nlturate folosind metoda lui Booth
unde, deasemenea, procedura nu ine cont de semnul nmulitorului. n aceast metod
cifrele nmulitorului sunt examinate n perechi, ncepnd cu cea mai puin semnificativ
pereche; denmulitul este adunat sau sczut din produsul parial acumulat, n funcie de
informaia obinut n urma comparaiei biilor nmulitorului. Algoritmul pentru aceast
metod poate fi enunat astfel:
1) dac cifrele comparate sunt 00 sau 11 nu se efectueaz nimic i se
deplaseaz nmulitorul i produsul parial cu o poziie spre dreapta;
2) dac cifrele comparate sunt 10, se scade denmulitul (adic se adun
complementul su fa de doi) din produsul parial acumulat i se deplaseaz
cu o poziie la dreapta:
3) dac cifrele comparate sunt 01, se adun denmulitul la produsul parial
acumulat i se deplaseaz cu o poziie la dreapta.
Obs.: La deplasarea la dreapta a unui numr, se repet bitul de semn n partea stng.
Pentru prima comparaie se plaseaz un 0 dup bitul LSB, prima comparaie
fcndu-se ntre acest bit i bitul LSB.

Ex.: D = +12 = 0,1100



bitul de semn

I = -14 = 1,0010 -14 este scris n complement fa de doi

denmulitul 0,1100 +12


nmulitorul 1,0010[0] -14
0,000000000
00 => depl. dreapta 0,000000000 primul produs parial
10 => scdere 1,0100
1,010000000 al doilea produs partial
depl. dreapta 1,101000000
01 => adunare 0,1100
ignor carry 0,011000000 al treilea produs partial
depl. dreapta 0,001100000
00 => depl.dreapta 0,000110000 al patrulea prod. partial
10 => scdere 1,0100
1,010110000
depl. dreapta 1,101011000 rezultatul nmulirii

Rezultatul este negativ => complementare fa de doi:

0,010100111 inversare rezultat


1 adun 1
0,010101000 = 168

Deci, 12*(-14) = -168.

Obs.: nainte de nceperea nmulirii, numerele negative se complementeaz fa de doi.

3.5. mprirea numerelor n complement fa de doi. Algoritmul cu restaurare.

Iniial se examineaz semnul dempritului i al mpritorului, pentru a determina


semnele ctului i restului.

Demprit mpritor Ct Rest


>0 >0 >0 >0
>0 <0 <0 >0
<0 >0 <0 <0
<0 <0 >0 <0

Mrimile ctului i restului se determin dup ce att dempritul ct i mpritorul


se convertesc n numere pozitive, dac este cazul. Dup ce mrimile ctului i restului au
fost determinate, se convertesc n complement fa de doi.
Metoda utilizat mai jos se numete algoritmul cu restaurare. El poate fi sintetizat astfel:

1. se aliniaz biii cei mai semnificativi ai dempritului i mpritorului;


2. se scade mpritorul din demprit (adic se adun complementul fa de doi al
mpritorului la demprit);
3. dac noul bit din poziia cea mai semnificativ este 1, rezultatul este negativ, se
regenereaz dempritul, se deplaseaz la dreapta mpritorul i se preia bitul
pentru ct ca fiind 0;
4. dac noul bit din poziia cea mai semnificativ este 0, rezultatul este pozitiv, se
deplaseaz mpritorul la dreapta i se preia bitul pentru ct ca fiind 1;
5. se repet paii 2) i 3) sau 4) pn cnd LSB-ul mpritorului i al dempritului se
aliniaz.

Obs.: La deplasarea mpritorului la dreapta se repet bitul de semn.

Exemplu: D = 179 = 0,10110011


= 12 = 0,1100 => complement fa de doi = 1,0100

0,10110011
1,0100 scade mpritorul (adun compl. fa de doi)
1,11110011 rezultat negativ =>restaurare demprit
preia 0 pentru ct
0,10110011
1,10100 depl. dreapta mpritor i scade
ignor carry 0,01010011 rezultat pozitiv => preia 1 pentru ct
1,110100 depl. dreapta mpritor i scade
ignor carry 0,00100011 rezultat pozitiv => preia 1 pentru ct
1,1110100 depl. dreapta mpritor i scade
ignor carry 0,00001011 rezultat pozitiv => preia 1 pentru ct
1,11110100 depl. dreapta mpritor i scade
1,11111111 rezultat negaitv =>restaurare demprit
preia 0 pentru ct
restul 0,00001011 demprit restaurat

Deci, ctul = 0,1110 = 14


restul = 0,00001011 = 11
4. Reprezentarea cifrelor zecimale

Numerele zecimale, alctuite din cifrele 0-9, se reprezint n diferite coduri. Aceste coduri
sunt utilizate mai ales de sisteme sau de dispozitive pe 4 bii. Cel mai utilizat cod este codul
zecimal codificat binar, BCD (Binary Coded Decimal). Cifrele de la 0 la 9 sunt reprezentate
prin valori binare echivalente, pe cte 4 bii, conform tabelului urmtor:

Cifra Cod BCD


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Avantajul acestei codificri este corespondena direct ntre cifra zecimal i valoarea
sa. O alt modalitate de reprezentare a cifrelor zecimale este codul BCD n exces 3. Cifrele
zecimale sunt reprezentate pe cte 4 bii, prin valorile cuprinse ntre 3 (0011) i 12 (1100).
Pentru sistemele cu dispozitive care utilizeaz numere n cod BCD, este necesar o
operaie de conversie din binar n BCD i invers.

4.1. Conversia din binar n BCD

Regula de conversie este urmtoarea: se deplaseaz numrul binar spre stnga,


ncepnd cu bitul cel mai semnificativ. nainte de deplasare se adun 3 la decadele care
conin un numr mai mare dect 4.
Fie N2 = 10101101
NBCD N2
0000 0000 0000 10101101
0000 0000 0001 0101101
0000 0000 0010 101101
0000 0000 0101 + 01101
0011
0000 0000 1000 01101
0000 0001 0000 1101
0000 0010 0001 101
0000 0100 0011 01
0000 1000 0110 + 1
0011 0011
0000 1011 1001 1
0001 0111 0011

Rezultatul este NBCD = 173

4.2. Conversia din BCD n binar

Regula de conversie este urmtoarea: se deplaseaz numrul BCD spre dreapta, cu


cte o poziie, ncepnd cu bitul cel mai puin semnificativ. Dup deplasare se scade 3 din
acele decade care conin un numr mai mare sau egal cu 8.

Fie NBCD = 173


NBCD N2
1 0111 0011
1011 1001 - 1
0011 0011
1000 0110 1
100 0011 01
10 0001 101
1 0000 1101
1000 - 01101
0011
0101 01101
010 101101
01 0101101
0 10101101
010101101

Rezultatul este N2 = 101011012 = 17310

5. Reprezentarea numerelor reale

Numerele care intervin n calcule sunt numere nu neaprat ntregi, unele sunt foarte
mari, altele foarte mici, i eventual cu multe cifre semnificative. De aceea este necesar o
reprezentare a lor n care s se fac distincie ntre ordinul de mrime i precizie (numrul de
cifre semnificative).
n notaia tiinific, un numr este reprezentat astfel: N = M * 10 E, unde E este
exponentul, un numr ntreg pozitiv sau negativ, ce determin ordinul de mrime al
numrului, iar M este mantisa, un numr fracionar, ce determin precizia numrului.
Echivalentul n calculator al acestei notaii este formatul cu virgul mobil, folosit
pentru reprezentarea numerelor reale din matematic.
Nu exist o coresponden biunivoc ntre numerele reale i numerele n virgul
mobil. Astfel, numerele 0,998*109 i 0,999*109 sunt consecutive n formatul n virgul
mobil, dar n realitate ntre ele exist o infinitate de numere reale. Cele mai importante
diferene ntre numerele reale din matematic i numerele reprezentate n virgul mobil
sunt domeniul finit i mulimea discret de valori. Domeniul finit i discret este determinat de
capacitatea fizic limitat a memoriei calculatorului.
Numerele se reprezint n formatul cu virgul mobil prin bitul de semn al numrului,
exponent i mantis:
n-1 0
S Exponent Mantis
e bii m bii

n continuare vom folosi urmtoarele notaii:


b baza de reprezentare a numrului;
bm baza de reprezentare a mantisei;
e numrul de bii pe care se reprezint exponentul;
m numrul de cifre ale mantisei;
p numrul de cifre ale prii fracionare a mantisei.

De remarcat faptul c informaia care nu se modific nu se reprezint. Astfel avem


baza de numeraie i virgula, a crei poziie a fost stabilit prin convenie (de exemplu, n
stnga bitului cel mai semnificativ al mantisei, adic m = p).
Mantisa se reprezint, de regul, n valoare absolut (prin mrime), baza de
reprezentare bm fiind 2, 4, 8 sau 16. Corespunztor, mantisa este o succesiune de cifre n
baza 2, 4, 8 sau 16, fiecare cifr fiind reprezentat n memoria calculatorului pe 1, 2, 3 i
respectiv 4 bii. Condiia de normalizare, care asigur unicitatea reprezentrii numrului real
n calculator, stabilete numrul de cifre ale prii fracionare a mantisei. Considernd
mantisa subunitar, avnd prima cifr dup virgul semnificativ, vom avea urmtoarea
condiie de normalizare:
0,1bm <= mantisa < 1.
Dac bm este 2, bitul cel mai semnificativ al mantisei este ntotdeauna 1. Acest bit, n
general, nu se reprezint n memoria calculatorului (se numete bit ascuns), efectul fiind
acela de a dubla numrul de mantise distincte ce se pot reprezenta.
Observaie: Tehnica bitului ascuns se refer doar la reprezentarea numerelor n
memoria calculatorului, nu i la operaiile efectuate de unitatea aritmetico-logic.
Pentru a crete precizia reprezentrii, trebuie mrit numrul de cifre ale mantisei. De
regul, acest numr se dubleaz, de unde rezult i denumirea de reprezentare n dubl
precizie. Numrul total de mantise ce se pot reprezenta este:
Nmantise = (b 1) * bm-1.
Pentru reprezentarea exponentului pe e bii, care este ntotdeauna un numr ntreg
pozitiv sau negativ, se utilizeaz, n general, un cod n exces (2 e-1). Avantajul este acela de a
lucra numai cu numere ntregi fr semn, deci operaiile sunt mai simple. De regul, e = 7
sau 8 bii.
Prin reprezentarea n cod exces 2e-1, domeniul de valori al exponentului D = [-(2 e-1-1),
(2e-1-1)] se transform n D = [1, 2e 1]. Aceast convenie se mai numete i notaie
polarizat, polarizarea fiind numrul care trebuie sczut din reprezentarea normal, fr
semn, pentru a se obine valoarea real a exponentului.
Valoarea 0 a exponentului n cod exces este rezervat pentru reprezentarea
numrului 0.
Pentru a mri domeniul de reprezentare, se alege baza numrului 4, 8 sau 16. Baza
numrului (b) i baza mantisei (bm) sunt, de regul, egale.

Exemple de formate de reprezentare n virgul mobil sunt formatul DEC, formatul


IBM i standardul IEEE. n cazul standardului IEEE, baza de reprezentare este b = 2. n
simpl precizie, un numr se reprezint pe 32 de bii. Exponentul se reprezint pe e = 8 bii,
n cod exces 127. Valoarea 255 a exponentului n cod exces are semnificaia de , dup
cum bitul de semn este 0 sau 1. Mantisa are m = 24 de bii, din care p = 23 de bii pentru
partea fracionar. Mantisa se reprezint n valoare absolut, folosind tehnica bitului ascuns.
Condiia de normalizare a mantisei este:
1,000002 <= mantis <=1,111112
Deoarece partea ntreag a mantisei este ntotdeauna 1, aceasta nu se mai reprezint n
calculator. Se vor reprezenta doar cifrele de la dreapta virgulei, n total 23 de bii. Precizia
reprezentrii este de 6 cifre zecimale.
31 30 23 22 0
S Exponent + 127 Mantisa normalizat

n dubl precizie, un numr se reprezint pe 64 de bii, cu m = 53 de bii, p = 52 de


bii, e = 11 bii, iar exponentul este n cod exces 1023 (210-1). Se poate observa c domeniul
de reprezentare este mult mai mare dect n simpl precizie, iar precizia a crescut la 15 cifre
zecimale exacte.
31 30 20 19 0
S Exponent + 1023 Mantisa
31 0
Mantis

5.1. Operaii cu numere reprezentate n virgul mobil

n cadrul acestui paragraf se vor considera numerele reale reprezentate n virgul


mobil n formatul standard IEEE, simpl precizie.

5.1.1. Adunarea numerelor n virgul mobil

La adunarea a dou numere reprezentate n virgul mobil, A+B=C, se parcurg


urmtoarele etape:
a) Se compar exponenii celor doi operanzi i, n cazul n care difer, se va deplasa
mantisa operandului mai mic spre dreapta, cu un numr de poziii egal cu diferena
exponenilor. Dac aceast diferen este mai mare dect numrul de bii pe care se
reprezint mantisa, rezultatul operaiei de adunare este mai mare n modul.
b) Se adun mantisele conform regulilor de adunare n virgul fix.
c) Dac la pasul b), a avut loc adunarea efectiv a modulelor mantiselor, iar rezultatul
genereaz depire, Mc se deplaseaz cu o poziie spre dreapta i Ec se incrementeaz.
Dac Ec are valoare maxim i nu se poate incrementa, atunci se poziioneaz indicatorul de
depire superioar (eof exponent overflow).
Dac la pasul b) a avut loc scderea efectiv a modulelor mantiselor, se vor avea n vedere
dou situaii:
- mantisa rezultatului este 0, caz n care se va face 0 ntreg rezultatul (semn i
exponent)
- mantisa rezultatului este nenormalizat: normalizarea se va realiza prin deplasarea
succesiv cu cte o poziie spre stnga a mantisei, cu decrementarea exponentului.
Dac la un moment dat exponentul a ajuns la valoarea minim i nu se mai poate
decrementa, se poziioneaz indicatorul de depire inferioar (euf exponent underflow).
Exemplu: S se adune n virgul mobil numerele 3,78 i 0,43.
n primul rnd vom transforma cele dou numere n binar, n formatul virgul mobil
standard. Dac este necesar, se va face normalizarea i egalizarea exponenilor.
3,7810 = 11,11000112 = 1,11100011 * 21
0,4310 = 0,011011102 = 1,101110 * 2-2 = 0,001101110 * 21
1,11100011+
0,00110111
10,00011010
Deci rezultatul adunrii este 10,00011010 * 21. Prin normalizarea mantisei se obine:
1,00001101 * 22.
Pentru reprezentarea rezultatului n formatul standard IEEE 754 simpl precizie va
trebui s realizm polarizarea exponentului (adunarea lui cu 127).
0 10000001 00001101000000000000000

5.1.2. nmulirea numerelor n virgul mobil

Iniial se testeaz dac este nul cel puin unul dintre operanzi, caz n care rezultatul
nmulirii este, de asemenea, nul. Operaia de nmulire n virgul mobil const n adunarea
exponenilor i nmulirea mantiselor.
La adunarea exponenilor este posibil s apar depire superioar (prin nmulirea a
dou numere foarte mari n modul) sau depire inferioar (prin nmulirea a dou numere
foarte mici n modul). n aceste cazuri se vor poziiona n mod corespunztor indicatorii de
depire superioar (eof) sau depire inferioar (euf).
Dac la nmulirea mantiselor rezultatul nu este normalizat, n cazul n care
exponentul Ec nu este minim, se va face o deplasare a mantisei M c cu o poziie spre stnga,
cu decrementarea exponentului.
La operaia de refacere a exponentului Ec, se ine cont c prin adunarea exponenilor
s-au adunat dou deplasamente (2nr_bii_exponent-1-1), deci se va scdea din exponentul
rezultatului obinut un deplasament.

Exemplu: S se nmuleasc n virgul mobil numerele 8,36 i 2,74.


n primul rnd vom transforma cele dou numere n binar, n formatul virgul mobil
standard. Dac este necesar, se va face normalizarea i egalizarea exponenilor.
8,3610 = 1000,01012 = 1,0000101 * 23
2,7410 = 10,1011112 = 1,0101111 * 21
1,0000101*
1,0101111
10000101
10000101
10000101
10000101
00000000
10000101
00000000
10000101 .
1,01101011101011
Deci rezultatul final al nmulirii este 1,01101011101011 * 24.
Pentru reprezentarea rezultatului n formatul standard IEEE 754 simpl precizie va
trebui s realizm polarizarea exponentului (adunarea lui cu 127):
0 10000011 01101011101011000000000

S-ar putea să vă placă și