Documente Academic
Documente Profesional
Documente Cultură
Coduri Binare RECAPITULARE - Printed PDF
Coduri Binare RECAPITULARE - Printed PDF
1 0 0 0 0 0 1 1
Figura 2.9. Explicativ cu privire la reprezentarea numerelor binare i la termenii folosii pentru a specifica
diferitele poziii binare dintr-un octet.
n figura 2.9 bitul cel mai semnificativ (l vom nota n continuare MSb1) are ponderea cea
mai mare (27 pentru exemplul din figur), iar bitul cel mai puin semnificativ (notat n continuare
ca LSb2), are ponderea 20. Reprezentarea pe 8 bii va fi numit octet (byte). Notaia de deasupra
valorilor binare indic poziia bit-ului n cuvntul binar indicnd de asemenea prin valoare
indicelui i i ponderea valorii binare.
Pentru conversia din zecimal n binar pentru ntregi se face mprire repetat la 2 i se pstreaz
n ordine invers resturile, iar pentru fracionare din zecimal n binar se face nmulire repetat cu
2 i se pstreaz valorile ntregi.
De exemplu 131.25 n zecimal se scrie:
1
MSb = Most significant bit, cel mai semnificativ bit.
2
LSb = Least significant bit, cel mai puin semnificativ bit.
Coduri-binare-RECAPITULARE.doc Pagina 1
rest
parte parte
fracionar ntreag
131:2 = 65+1
65:2 = 32+1
32:2 = 16+0
16:2 = 8+0 0.252=0.5+0
8:2 = 4+0 0.5 2=0.0+1
4:2 = 2+0
2:2 = 1+0
1:2 = 0+1
13110=100000112 0.2510=012
131.2510=10000011.012
La conversia invers, din binar n zecimal se nmulete fiecare bit cu ponderea sa conform
relaiei 2.7. n care M este numrul de bii ai prii fracionare, iar N ai prii ntregi.
N 1
bi 2i (2.8)
i=M
De exemplu se poate scrie:
10000011.012 =
= 1 2 7 + 0 2 6 + 0 2 5 + 0 2 4 + 0 2 3 + 0 2 2 + 1 21 + 1 2 0 + 0 2 1 + 1 2 2 =
1
= 128 + 2 + 1 + = 131.2510
4
Coduri-binare-RECAPITULARE.doc Pagina 2
clasificare general.
codificate n cod:
direct
invers
Coduri numerice
complementar
Coduri alfanumerice
Figura 2.10. Clasificare general a codurilor folosite pentru reprezentarea datelor n calculatoarele numerice.
MSb LSb
Cel mai Cel mai puin
semnificativ bit semnificativ bit
unde bn-1 este bitul cel mai semnificativ (l vom nota MSb i el are ponderea 2n-1), iar b0 este bitul
cel mai puin semnificativ (notat n continuare ca LSb, cu ponderea 20). Se consider c virgula
are poziia imediat n dreapta bitului LSb (b0).
n cazul numerelor subunitare fr semn, reprezentate pe n bii, se va folosi notaia:
MSb LSb
-1
unde b-1 este bitul cel mai semnificativ ( MSb cu ponderea 2 ), iar b-n este bitul cel mai puin
Coduri-binare-RECAPITULARE.doc Pagina 3
semnificativ (LSb cu ponderea 2-n). Se consider c virgula are poziia fix, imediat n stnga
MSb (b-1).
Pentru numerele cu semn, ntotdeauna pe prima poziie binar din partea stnga se
reprezint semnul, folosindu-se convenia:
S = 0, semn pozitiv (N >= 0)
S = 1, semn negativ (N < 0)
Pentru numere ntregi cu semn, reprezentate pe n bii, se va folosi notaia:
N = bn 1bn 2 ... b2 b1b0 (2.12)
identic cu cea din relaia (2.9), dar la care semnificaia biilor este diferit. Bitul bn-1 este bitul de
semn, bitul bn-2 este cel mai semnificativ bit (MSb, cu ponderea 2n-2), iar b0 este bitul cel mai
puin semnificativ (LSb). Se consider c virgula are poziia fix imediat n dreapta LSb (b0).
Pentru numerele subunitare cu semn, reprezentate pe n bii, se va folosi notaia:
N s = b0 b1b 2 b 3 ... b ( n 1) (2.13)
unde b0 este bitul de semn, b-1 este bitul cel mai semnificativ (MSb, cu ponderea 2-1), iar b-(n-1)
este bitul cel mai puin semnificativ (LSb cu ponderea 2-(n-1)). Se consider c virgula se afl ntre
bitul de semn i MSb (b-1).
Coduri-binare-RECAPITULARE.doc Pagina 4
Calculul valorii zecimale pentru numrul reprezentat n binar n MS:
numere ntregi numere subunitare
n2 b n 1
N s = (1) 0 b i 2 i
b
N 10 = (1) n 1 bi 2 i (2.15)
i =0 10 i =1
Avantaje ale codului MS:
Codificarea n MS prezint avantaje din punctul de vedere al operaiilor de nmulire i mprire,
algoritmii de calcul i rutinele sau circuitele de implementare cablat rezultnd cu o structur
simpl. De asemenea codificarea n MS se face foarte simplu pentru numerele negative, doar prin
modificarea bitului de semn.
Dezavantaje ale codului MS:
Codul prezint dezavantaje din punctul de vedere al operaiilor de adunare i scdere. Asta n
primul rnd pentru c numerele pozitive i negative trebuie tratate diferit n operaii i ca urmare
rezult algoritmi de adunare i scdere mai compleci dect n alte moduri de codificare.
Un alt dezavantaj l reprezint faptul ca exist dou reprezentri pentru numrul zero:
000000...0 i 100000...0
N = 1000 0110:
N|10 = (-1)1 (0*26 + 0*25 + 0*24 + 0*23 + 1*22 + 1*21 + 0*20) = -6
sau
N|10 = (-1)1 (0*2-1 + 0*2-2 + 0*2-3 + 0*2-4 + 1*2-5 + 1*2-6 + 0*2-7) =
= - (1/32 + 1/64) = - 6/128
Coduri-binare-RECAPITULARE.doc Pagina 5
numere ntregi numere subunitare
Reprezentarea n cod invers a unui numr N, binar negativ, se poate face n dou moduri:
a) se complementeaz toi biii reprezentrii modulului numrului ( |N| ) inclusiv bitul de
semn;
b) pe baza relaiilor generale:
numere ntregi numere fracionare
(relaiile au fost scrise n acest fel pentru a putea fi folosite i pentru numerele pozitive)
Avantaje i dezavantaje ale codului C1: (2.19)
Reprezentarea este foarte uor de realizat n hardware, dar algoritmii de nmulire i mprire
pentru numere n C1 sunt mai compleci dect la MS. Codul prezint unele avantaje pentru
adunare i scdere, dar la aceste operaii se prefer codul complementar.
Un alt element dezavantajos este faptul c exist dou reprezentri pentru zero (plus i minus
zero):
000000...0 i 111111...1
Exemplu (pentru n=8):
zecimal binar
Coduri-binare-RECAPITULARE.doc Pagina 6
2.6.4.c Reprezentarea numerelor cu semn n cod complementar (cod complement fa de 2, C2)
Mod de reprezentare: Pentru numere pozitive reprezentarea este identic cu cea fcut n MS.
Pentru reprezentarea n cod complementar a unui numr N, binar negativ, se pot folosi variantele
descrise n tabelul de mai jos:
varianta numere ntregi numere subunitare
Note:
La operaiile de scdere sau adunare pentru calcularea codului se consider i
transportul sau mprumutul.
Relaiile de la varianta b indic de ce codul poart numele complement fa de 2.
Metoda de la varianta c este des folosit n codificarea manual i de asemenea uor de
implementat cu pori logice.
Domeniul de reprezentare:
numere ntregi numere subunitare
-2 N 2 -1
n-1 n-1
-1 Ns 1-21-n
Calculul valorii zecimale pentru numrul reprezentat n binar n cod C2:
numere ntregi numere subunitare
n2 n 1
N 10 = bn 1 2 n 1 + bi 2 i N s = b0 + b i 2 i
i =0 10 i =1
(relaii valabile i pentru numere pozitive)
Avantaje i dezavantaje ale reprezentrii n codul C2. Reprezentarea n cod complementar a
numerelor negative s-a generalizat la procesoarele actuale, datorit avantajelor urmtoare:
Scderea unui numr din alt numr este echivalent matematic cu adunarea complementului de
doi a scztorului la desczut. Se implementeaz doar operaia de adunare a numerelor
reprezentate n cod complementar (sumare algebric). (6.18)
Codificarea n C2 printr-un circuit electronic este foarte uor de realizat
Acest cod are o singur reprezentare pentru zero (00...0), (avnd deci un cod n plus fa de
celelalte coduri, cu acelai numr de bii).
Un ntreg n reprezentarea complement fa de doi poate fi uor extins la un format mai mare (un
numr mai mare de bii) fr schimbarea valorii sale. Pentru aceasta este necesar doar ca bitul de
semn sa fie repetat n toate poziiile binare de ordin superior aprute. Aceast ; operaie se
numete extensie de semn. Exemplu pentru un ntreg pe 16 bii extins apoi la 32 de bii:
16b: Snnn nnnn nnnn nnnn (S: semn; n: 0 sau 1)
32b: SSSSSSSSSSSSSSSS Snnn nnnn nnnn nnnn
Principalul dezavantaj al codului complementar l constituie algoritmii pentru nmulire i
mprire mai compleci dect cei corespunztori codului MS.
Exemplu de conversie n C2, (pentru n=8):
N|10 = -6
Coduri-binare-RECAPITULARE.doc Pagina 7
a) cu C1: (-6)C2 = (-6)C1 + 1 1111 1001 +
1
-------------
1111 1010
b)
(-6)C2 = 28 - |6| 1 0000 0000 -
0000 0110
----------------
1111 1010
c) pe reprezentarea lui +6 = 0000 0110
1111 1010
Pentru comparaia numerelor codificate n cele trei coduri pentru ntregi cu semn, n figura 2.12
se prezint tabela codurile pe 4 bii (3 de mrime i unul de semn).
Aa cum s-a spus anterior operaia de scdere poate fi nlocuit cu sumarea algebric, dac
numerele sunt reprezentate n cod complementar. Astfel A - B se poate scrie ca A + (-B) unde
ambele numere sunt reprezentate cu semn i n complement fa de 2. Sumarea se face inclusiv
pentru bitul de semn, care nu necesit o abordare specific.
Numr Cod binar
zecimal direct invers complementar
+7 0111 0111 0111
+6 0110 0110 0110
+5 0101 0101 0101
+4 0100 0100 0100
+3 0011 0011 0011
+2 0010 0010 0010
+1 0001 0001 0001
+0 0000 0000 0000
-0 1000 1111 0000
-1 1001 1110 1111
-2 1010 1101 1110
-3 1011 1100 1101
-4 1100 1011 1100
-5 1101 1010 1011
-6 1110 1001 1010
-7 1111 1000 1001
-8 1000
Figura 2.12. Comparaie ntre codurile pentru reprezentarea cu 4 bii a numerelor cu semn.
Coduri-binare-RECAPITULARE.doc Pagina 8
2.7. Coduri zecimal - binare (coduri BCD)
Acestea sunt coduri pentru reprezentarea cifrelor zecimale, de la 0 la 9. De aceea traducerea mai
corect n limba romn ar fi zecimal codificat binar, dar s-a rspndit foarte mult denumirea
de coduri zecimal-binare. n continuare vom folosi mai ales denumirea de coduri BCD (Binary
Coded Decimal). Pentru codificare sunt necesari cel puin patru bii. n funcie de principiul de
construcie a codurilor, acestea se pot mpri n:
coduri BCD ponderate
coduri BCD neponderate
La codurile ponderate calculul oricrei cifre zecimale, c = {0,1,2,...,9}, se poate face pe baza
ponderilor zecimale pi ce apar n denumirea codului, conform relaiei:
3
c= bi pi (2.24)
i =0
unde bi este valoarea binar ce corespunde ponderii i. La codurile neponderate nu se respect
relaia (2.19). Construcia lor este fcut pentru a asigura corectitudinea datelor reprezentate, n
diferite aplicaii digitale, prin introducerea n reprezentare a unor constrngeri ce permit
verificarea corectitudinii codurilor.
n figura 2.13 se prezint cteva coduri ponderate i neponderate. Codul 8421, numit de asemenea
i cod NBCD (Natural Binary Coded Decimal) - zecimal codificat n binar natural, folosete
pentru a codifica fiecare cifr zecimal cu reprezentarea din numrarea binar natural. Este codul
BCD folosit n majoritatea procesoarelor de uz general, pentru operaii n ALU, motiv pentru care
n documentaia acestor procesoare codul NBCD este numit doar BCD, pentru c nu se mai
folosete i alt cod pentru numere zecimale.
Coduri-binare-RECAPITULARE.doc Pagina 9
00 01 11 10
Pentru cod
00 Gray
01
Pentru cod
Gray-deplasat
11
10
(b)
Figura 2.13. (a) Coduri BCD ponderate i neponderate. (b) posibilitatea de deducere a codului
Gray, pe baza diagramei Karnaugh, ce se bazeaz pe proprietatea de adiacen.
Codurile 2421 (cod Aiken) i 4221 sunt coduri auto-complementare. (codul lui 5 este
complementul bit cu bit al codului lui 4, codul lui 6 este complementul codului lui 3, codul lui 7
este complementul codului lui 2, etc.). Diferena ntre cele dou moduri de codificare se refer
doar la cifrele 4 i 5.
Codul exces 3 nu prezint nici o valoare de cod cu toi biii 0, lucru important n anumite
aplicaii. Codul Gray este un cod ce are proprietatea de adiacen, fiind avantajos n metode de
minimizare sau n aplicaii unde pe baza adiacenei se poate verifica corectitudinea informaiei
(de exemplu traductoare incrementale). Codul Gray simplu nu prezint ns adiacen ntre
codurile pentru 0 i pentru 9 (primul i ultimul cod) i de aceea uneori se folosete codul Gray
deplasat, cruia nu-i mai lipsete proprietatea amintit. Cu privire la codul Gray, n figura 2.13.b
s-a desenat o diagram Karnaugh (de asemenea cu proprietatea de adiacen), din care se pot
deduce cele dou tipuri de cod Gray. Codul Gray a fost descris aici la codurile BCD, dar uneori el
este folosit cu toate cele 16 combinaii binare, n acest ultim caz nefiind un cod BCD. Pentru
codul Gray care codific numerele zecimale de la 0 la 15 ultima combinaie binar este 1000
(pentru 15 zecimal) fiind adiacent cu 0000, aa cum se observ n figura 2.13.b completnd linia
punctat pn la ultima csu din diagram. Acest cod este numit adesea i cod binar reflectat,
pentru c valorile binare ale ultimilor 3 bii se reflect fa de o linie imaginar tras ntre codurile
din mijloc. Astfel pentru codul Gray cu 16 combinaii reflectarea se produce fa de linia tras
ntre codurile cifrelor zecimale 7 i 8, iar pentru codul BCD Gray deplasat fa de linia tras ntre
codurile pentru 4 i 5. De exemplu, n figura 2.13.a oglindirea se produce pentru cei 3 bii mai
puini semnificativi pentru 4 cu 5, 3 cu 6, 2 cu 7, 1 cu 8 i 0 cu 9.
Coduri-binare-RECAPITULARE.doc Pagina 10
B= baza, este 2 sau o putere a lui 2, nu este reprezentat n calculatorul numeric, dar se ine
cont de valoarea bazei atunci cnd se efectueaz operaii aritmetice. La un anumit calculator
numeric valoarea bazei este aceeai pentru toate numerele reale reprezentate.
Reprezentarea numerelor n calculator se face prin cuvinte binare cu lungime egal cu
lungimea registrelor de stocare. Precizia de reprezentare a unui numr real este dat n primul
rnd de numrul de bii folosii pentru reprezentarea Mantisei. Domeniul maxim de reprezentare
este determinat de valoarea adoptat pentru Baz i de numrul de bii folosii pentru a reprezenta
Exponentul.
Spre deosebire de numerele ntregi, numerele reale se reprezint cu o anumit aproximaie
n calculator. Dac pentru reprezentarea numerelor reale n calculator se folosesc n bii, se vor
putea reprezenta maxim 2n numere, dintr-un anumit interval continuu R al numerelor reale. Ca
urmare, numerele reale sunt reprezentate cu o anumit eroare, determinat de numrul limitat de
bii folosit pentru reprezentare. Eroarea de reprezentare depinde de distana dintre dou numere
succesive reprezentabile cu cei n bii. Toate numerele reale cuprinse ntre cele dou valori vor
trebui aproximate prin una din cele dou valori. Dac baza folosit implicit pentru reprezentare
nu este 2 ci 4 sau 16, dezavantajul este c numerele reprezentabile vor fi i mai rar distribuite pe
intervalul R dei exist avantajul creterii domeniului de reprezentare cu n bii.
Pentru reprezentarea mantisei numerelor n virgul mobil se folosete forma normalizat n care,
pentru reprezentarea n mrime i semn, prima poziie binar dup virgul este diferit de zero.
Normalizarea restrnge mrimea valorii absolute a mantisei binare la domeniul:
1
M <1 (2.26)
2
Normalizarea n binar este uor de fcut, prin deplasarea mantisei ctre dreapta sau stnga i
incrementarea respectiv decrementarea corespunztoare a exponentului.
De exemplu, numrul cu mantisa normalizat 0.11011000 * 210 poate fi scris:
Dac, de exemplu, considerm B=2, exponentul E reprezentat cu semn pe 8 bii, iar mantisa
normalizat un numr cu semn reprezentat pe 24 de bii n cod mrime i semn (deci numrul
stocat n calculator va avea 8 + 24 = 32 bii), domeniul maxim de reprezentare va fi cuprins ntre
2127 i + 2127.
n valoare absolut, cel mai mic numr reprezentabil n calculator este
Nminim_reprezentabil = 0.100...0 * 2-127
iar cel mai mare numr reprezentabil este
Nmaxim_reprezentabil = 0.111...1 * 2+127
Reprezentnd grafic toate numerele pe o scar, la care n partea de sus se reprezint numerele
mari, iar jos cele mai mici, ca n figura 2.14. se pot face cteva observaii importante:
Mantisele se reprezint pe 24 bii, din care 23 sunt rezervai pentru mrime.
Toate mantisele reprezentate n cod direct n exemplul din figura 2.6 sunt normalizate (primul bit
dup virgul este 1). Dac n urma efecturii operaiilor aritmetice rezultatul este n afara
domeniului [-Nmaxim_reprezentabil, +Nmaxim_reprezentabil] se spune ca s-a produs o depire a capacitii
de reprezentare (pentru cei 32 de bii din exemplu). Depirea poate fi superioar (mai mare dect
numrul maxim reprezentabil) sau inferioar. Programul n care se produce depirea se
ntrerupe, iar evenimentul este tratat de o rutin (de servire a cazului de excepie "depire"), care
va transmite un mesaj ctre utilizator. Daca ns rezultatul se ncadreaz n intervalul cu numere
prea mici pentru a fi reprezentate cu mantise normalizate [-Nminim_reprezentabil, +-Nminim_reprezentabil]
numrul este aproximat, de obicei, cu zero.
Coduri-binare-RECAPITULARE.doc Pagina 11
Creterea valorii
numerice
Zero 22 de bii 0
Figura 2.14. Scar a numerelor reale pentru reprezentarea pe 32 de bii, din care pentru mantis
sunt rezervai 24 bii = 23 mrime + 1 semn.
Reprezentarea lui zero pune unele probleme, pentru c mantisa poate rezulta zero (nenormalizat)
dar exponentul su poate avea orice valoare pentru c 0 B E = 0 pentru oricare valoare a lui E.
Din punctul de vedere a circuitelor care testeaz dac un numr este egal cu zero, ar fi avantajos
ca s avem aceeai reprezentare ca la ntregi (succesiune numai de bii 0 n toate cmpurile: semn,
exponent, mantis). Valoarea zero este considerat a fi cea care corespunde la exponentul maxim
negativ (-127 n exemplul de mai sus).
De asemenea, pune probleme de reprezentare faptul c este necesar s se reprezinte dou semne
pentru fiecare numr (semnul mantisei i semnul exponentului).
O cale de rezolvare a problemei reprezentrii numrului zero este folosirea exponentului deplasat
(sau caracteristic, notat n continuare cu C) cu valoarea constant K:
C=E+K (2.27)
Deplasarea, pentru reprezentare pe 8 bii a exponentului se poate face cu K=127 (2n-1-1). Ambele
variante sunt exemplificate n tabelul din figura 2.15. Astfel c valoarea caracteristicii se
ncadreaz ntre 0 i 254.
n plus, dac mantisa este reprezentat n cod direct i este normalizat, primul bit al acesteia este
1 pentru toate numerele. Acest prim bit poate s nu mai fie reprezentat (bit ascuns, "hidden bit" -
HB). Ca urmare, n formatul pe 32 de bii, mantisa poate fi reprezentat pe 24 de bii (23 bii
reprezentai efectiv + 1 HB) precizia de reprezentare crescnd de dou ori. De asemenea, faptul c
bitul 1 este ascuns, permite numerelor pozitive foarte mici (+0.1 * 2-127, reprezentat cu HB) s
aib numai zerouri pe toi cei 32 de bii, deci reprezentarea numrului zero este identic cu cea de
la reprezentarea ntregilor, putndu-se folosi aceleai tipuri de circuite de detecie a rezultatului
nul. Ca urmare, la efectuarea operaiei de normalizare, virgula mobil este mutat pn cnd n
stnga sa se gsete un bit 1, iar ceilali bii se gsesc n dreapta virgulei.
Coduri-binare-RECAPITULARE.doc Pagina 12
Formatul de reprezentare n virgul mobil este standardizat de ctre standardul IEEE 754, aprut
n 1980 i completat ulterior. Pn la apariia sa, codurile numerice n virgul mobil variau de la
o familie de calculatoare la alta, fcnd dificil portabilitatea programelor ntre diferite maini,
cci apreau dificulti n domenii ca: erori de aproximare, tratarea depirilor superioare i
inferioare i tratarea altor condiii de excepie. Standardul se refer la reprezentrile pe 32 bii i
pe 64 bii. n oricare dintre formate standardul impune folosirea exponentului deplasat, a formei
normalizate pentru mantis, a bitului ascuns, iar baza B este considerat a fi egal cu 2. Bitul
ascuns nu se reprezint n formatul binar n virgul mobil, dar de valoarea sa se ine cont atunci
cnd se lucreaz cu numerele (unitile aritmetice i logice in cont de bitul ascuns). Modul
standardizat de reprezentare poate fi rezumat astfel:
pentru 32 de bii: 1 bit de semn, 8 bii pentru exponentul deplasat (+127) i 23 de bii pentru
mantis). Implicit se tie ca primul bit (nainte de virgul) al mantisei nu este reprezentat i el are
valoarea 1.
pentru 64 de bii: 1 bit de semn, 11 bii pentru exponentul deplasat (+1023) i 52 de bii pentru
mantis). Implicit se tie ca primul bit 1 al mantisei nu este reprezentat i el are valoarea 1.
Figura 2.17. Formatele numerelor reale reprezentate n virgul mobil pentru coprocesorul Intel 8087, conform
standardului IEEE 754.
Coduri-binare-RECAPITULARE.doc Pagina 13
mai mare de 254 pentru reprezentarea pe 32 de bii, respectiv 2046 pe 64 de bii) sunt definite n
aa fel ca s seteze indicatori de condiii ai procesorului gazd i s genereze ca urmare
evenimente ce trebuie tratate ca s nu existe erori de reprezentare sau de precizie. Dac pentru un
numr normalizat, mantisa este zero, iar exponentul are cea mai mic valoare posibil, este
reprezentat valoarea zero. Dac ns exponentul deplasat are cea mai mic valoare posibil
(C=0), iar mantisa are o valoare diferit de zero, mantisa nu este normalizat (este ne-
normalizat), iar biii stocai ai mantisei dau mrimea acesteia. Acest numr este prea mic pentru
a fi reprezentat. Termenul ne-normalizat (denormalized n limba englez) se refer la numerele
care pot avea orice valoare pentru C, dar mantisa nu poate fi adus la forma normalizat, cu bit
ascuns, pentru c se depesc limitele de reprezentare pentru caracteristic (ar trebui s rezulte o
caracteristic negativ). Cele mai multe din procesoarele ce lucreaz n virgul mobil fac, n
acest caz, aproximarea la zero a numrului, eroarea fiind proporional cu mrimea mantisei ne-
normalizate.
n figura 2.18 se prezint modul de tratare al excepiilor n standardul IEEE 754 pentru
numere reale reprezentate pe 32 de bii. Simbolul NAN (Not-A-Number, rezultatul nu este un
numr) este folosit pentru toate operaiile care conduc la erori, de exemplu mprire la zero, sau
extragere de radical dintr-un numr negativ, pe baza interpretrii simultane a fraciei diferite de
zero F 0 (unde Mantisa M = 1.F, bitul 1 din faa virgulei fiind bitul ascuns) i a exponentului
deplasat (caracteristic) cu valoare C = 255 (la formatul pe 32 de bii) respectiv C = 2047 (la
formatul pe 64 de bii).
Atunci cnd se produce o depire a capacitii de reprezentare (numrul este prea mare
pentru a putea fi reprezentat pe cei n bii) rezultatul este definit ca fiind + sau infinit ( ) i
identificarea se face de asemenea pe baza valorilor fraciei i exponentului deplasat (C = 255
respectiv C = 2047 i F = 0).
Figura 2.18. Modul de interpretare al excepiilor n standardul IEEE 754 pentru numere reale
reprezentate pe 32 de bii.
Alt aspect definit de standardul IEEE, cu implicaii mari n ceea ce privete proiectarea
hardware, sunt regulile de rotunjire. Standardul definete patru moduri de rotunjire:
rotunjire la valoarea cea mai apropiat (round to nearest)
rotunjire ctre valoarea mai apropiat de zero (round toward 0)
rotunjire ctre + (round toward +)
rotunjire ctre - (round toward -)
Modul implicit de rotunjire este rotunjire la valoarea cea mai apropiat. n cazul n care
numrul ce trebuie aproximat se gsete exact la jumtatea intervalului dintre dou numere
Coduri-binare-RECAPITULARE.doc Pagina 14
succesive reprezentabile, rotunjirea se face la un numr par (round to nearest even).
Ca o concluzie, conform standardului IEEE 754 un numr real reprezentat pe 32 de bii, la
care se respect condiia 0<C<255, se poate calcula cu relaia, :
N = (1) S 2 C 127 (1.F ) (2.29)
Pentru formatul real lung, pe 64 de bii, dac se respect condiia 0<C<2047, numrul poate fi
calculat cu relaia:
N = (1) S 2 C 1023 (1.F ) (2.30)
Coduri-binare-RECAPITULARE.doc Pagina 15