Sunteți pe pagina 1din 14

1. SISTEME DE NUMERAłIE.

CODAREA INFORMAłIEI

Dispozitivele numerice opereză cu cifre binare, 0 şi 1, asociate nivelurilor de semnal (de tip
tensiune, sarcină sau curent) de valoare mică şi, respectiv, de valoare mare: JOS – LOW (de regulă,
nivel logic 0) şi SUS – HIGH (de regulă, nivel logic 1). Pe de altă parte, operatorul uman este
obişnuit să lucreze cu numere zecimale sau cu alte informaŃii din viaŃa reală. Din această cauză, la
analiza, proiectarea şi implementarea circuitelor numerice este necesară codificarea binară a
informaŃiei şi/sau, eventual, trecerea de la un sistem de numeraŃie la altul.

1.1. SISTEME DE NUMERAłIE

Un sistem de numeraŃie este caracterizat prin baza sa (B) şi mulŃimea simbolurilor (S). Dacă B
este dată printr-un număr zecimal n (B = n), atunci sistemul de numeraŃie va avea n simboluri.
MulŃimea simbolurilor se notează prin:

S = {α0,α1,..., αn-1} (1.1)

În continuare sunt prezentate principalele sisteme de numeraŃie utilizate în cadrul


dispozitivelor numerice:
► Sistemul binar:

B = 2, S = {0,1} (1.2)

Simbolurile sistemului binar se numesc biŃi.


► Sistemul octal:

B = 8, S = {0,1,2,3,4,5,6,7} (1.3)

În acest caz, simbolurile se numesc cifre octale.


► Sistemul hexazecimal:

B = 16, S = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} (1.4)

Simbolurile sistemului hexazecimal se numesc cifre hexazecimale.

► Sistemul zecimal:

B = 10, S = {0,1,2,3,4,5,6,7,8,9} (1.5)

În acest caz, simbolurile se numesc cifre zecimale.


Un număr într-un sistem de numeraŃie se reprezintă printr-un şir ordonat de simboluri. De
menŃionat faptul că ordinea are o importanŃă deosebită, deoarece fiecărei poziŃii din şir i se asociază
o pondere, care este o putere a bazei. Forma generală a unui număr pozitiv conŃine o virgulă (punct)
în şirul de simboluri. Simbolurile din dreapta virgulei vor avea ponderile n0,n1,n2,..., începând de la
dreapta la stânga, iar simbolurile din stânga virgulei vor avea ponderile n-1,n-2,n-3,..., începând de la
stânga la dreapta. Astfel, într-un sistem de numeraŃie generalizat, un număr (pozitiv) N va avea
reprezentarea (1.6):

1
N = (dp-1 dp-2 ... d1 d0 .d-1 d-2 ... d-r)n , di ∈ S (1.6)

unde p şi r sunt numere naturale.


Dacă d,n,r şi p sunt exprimate prin cifre zecimale, atunci N va avea valoarea zecimală:

p −1
N= ∑d i ⋅ ni (1.7)
i =− r

Reprezentarea (1.6) este unică pentru sistemul de numeraŃie considerat. Dacă virgula lipseşte,
se subînŃelege că numărul este întreg. De exemplu, în tabelul 1.1 sunt date reprezentările numerelor
zecimale 0,1,2,...,15, în sistemele de numeraŃie: binar (utilizând patru cifre), octal (utilizând două
cifre) şi hexazecimal (utilizând o cifră).

Tabelul 1.1. Exemplu de reprezentare a numerelor în diverse sisteme de numeraŃie.

Sistem Sistem Sistem Sistem


zecimal binar (4 octal hexazecimal
biŃi) (2cifre)

0 0000 00 0

1 0001 01 1

2 0010 02 2

3 0011 03 3

4 0100 04 4

5 0101 05 5

6 0110 06 6

7 0111 07 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

2
1.2. CONVERSII DE BAZĂ DE NUMERAłIE

De multe ori este necesară trecerea de la un sistem de numeraŃie la altul (conversie de bază de
numeraŃie). Tipurile de metode de conversie pot fi: substituŃia, adunarea sau împărŃirea. În
continuare, sunt prezentate conversiile importante între cele patru tipuri de sisteme de numeraŃie
considerate, menŃionându-se metodele folosite.

Conversia din binar în octal

Metoda folosită este cea de substituŃie. Începând de la virgulă, în dreapta şi în stânga se


alcătuiesc grupări de câte trei biŃi care, apoi, se înlocuiesc cu cifrele octale corespunzătoare. La
extremităŃi, dacă grupările nu sunt complete, se completează cu 0.

Exemplul 1.1:

1011011.10112 = 001 011 011.101 100 = 133.548

Conversia din octal în binar

Metoda folosită este de acelaşi tip şi anume, fiecare cifră octală se înlocuieşte cu
echivalentul ei binar (trei biŃi) şi apoi se elimină zerourile din capete (Exemplul 1.1 luat de la
dreapta la stânga).

Conversiile din binar în hexazecimal şi din hexazecimal în binar

Aceste conversii de cod sunt asemănătoare conversiilor binar → octal şi, respectiv, octal →
binar, cu deosebirea că, în loc de grupări de trei biŃi, se consideră grupări de patru biŃi.

Exemplul 1.2:

1011011.10112 = 0101 1011.10112 = 5B.B16

Conversiile din binar în zecimal, din octal în zecimal şi din hexazecimal în zecimal

Aceste tipuri de conversie folosesc metoda adunării, potrivit relaŃiei (1.7).

Exemplul 1.3:

1011011.10112 = 1·20 + 1·21 + 0·22 + 1· 23 + 1·24 + 0·25 + 1·26 + 1·2-1 +

+ 0·2-2 + 1·2-3 + 1·2-4 = 91.687510 ,

133.548 = 3·80 + 3·81 + 1·82 + 5·8-1 + 4·8-2 = 91.687510

5B.B16 = 11·160 + 5·161 + 11·16-1 = 91.687510

Conversia din zecimal în binar

Pentru partea întreagă conversia zecimal - binar se poate realiza prin împărŃirea succesivă a
numărului zecimal la noua bază (în cazul de faŃă, 2). Resturile succesive vor fi: d0,d1,...,dp-1. Într-
adevăr, un număr întreg NI se poate scrie în forma (1.8):

3
(NI)10 = ((…(dp-1·n + dp-2)·n + dp-3)·n + … + d1)·n + d0 (1.8)

ÎmpărŃind succesiv NI la n prin eliminarea resturilor d0,d1,...dp-1, se obŃine şirul de simboluri


reprezentând (NI)n.

Exemplul 1.4:

n = 2, (NI)2 = 91,

91:2 = 45, r = 1 → d0 = 1,

45:2 = 22, r = 1 → d1 = 1,

22:2 = 11, r = 0 → d2 = 0,

11:2 = 5, r = 1 → d3 = 1,

5:2 = 2, r = 1 → d4 = 1,

2:2 = 1, r = 0 → d5 = 0,

1:2 = 0, r = 1 → d6 = 1

Rezultă:

(NI)2 = 1011011

Pentru partea fracŃionară se procedează analog, prin înmulŃire succesivă cu 2.


Într-adevăr,

(NF )10 = (...((d−r ⋅ n−1 + d−r+1)⋅ n−1 + d−r +2 )⋅ n−1 + ...+ d−1)⋅ n−1
Dacă se depăşeşte unitatea, aceasta se elimină şi se pune 1 în şirul simbolurilor. Dacă nu se
depăşeşte, se pune 0. La fiecare înmulŃire se obŃine un simbol al părŃii fracŃionare începând cu
d −1 , d − 2 , d −3 ,...

Exemplul 1.5:

(NF)10 = 0,6875, n = 2

0,6875x2 = 1,375 → d-1 = 1,

0,375x2 = 0,75 → d-2 = 0,

0,75x2 = 1,5 → d-3 = 1,

0,5x2 = 1,0 → d-4 = 1

Rezultă:

0.687510 = 0.10112

4
1.3. CODURI BINARE

1.3.1. Coduri binare pentru numere de semne diferite

În cele ce urmează vom considera că numerele sunt pozitive iar reprezentarea lor binară are
format fixat:

(N )2 = bp −1bp − 2 ....b0 , bi ∈ {0,1} (1.9)

Astfel, cu p biŃi se pot codifica 2p numere zecimale: 0, 1,..., 2 p − 1 .


Vom numi cod binar o mulŃime formată din şiruri binare de lungime p biŃi. Elementele
mulŃimii pot reprezenta numere sau diverse caractere şi se numesc cuvinte de cod. Bitul din capătul
din stânga al şirului se numeşte bitul cel mai semnificativ (MSB) – Most Significant Bit (bp-1), iar
bitul din capătul din drepta se numeşte bitul cel mai puŃin semnificativ (LSB) – Least Significant
Bit (b0).
În activitatea umană obişnuită numerele (zecimale) de semne diferite se reprezintă prin
modul (valoare absolută) şi semn (+ pentru numere pozitive şi – pentru numere negative), care este
simbolul cel mai semnificativ. În cazul numerelor binare, sistemul de reprezentare prin modul şi
semn utilizează un bit suplimentar bp care ocupă locul MSB. Astfel, MSB = 0, pentru numere
pozitive, şi MSB = 1, pentru numere negative. În reprezentarea valoare absolută şi semn (VAS), pot
fi codificate 2p+1 - 1 numere zecimale:

− 2 p + 1, ... ,−1, 0, 1,..., 2 p − 1

Deoarece 010 = - 010, pentru reprezentarea binară a lui 010, în VAS vor exista două forme: 0000...000
şi 1000...000.

Exemplul 1.6:
1110 : 01011
VAS
− 1110 : 11011

În afară de reprezentarea prin modul şi semn, în cazul dispozitivelor numerice, se folosesc


reprezentări de tip complement faŃă de 1 şi, mai ales, de tip complement faŃă de 2.
Pentru complementul faŃă de 1 (C1), reprezentarea numerelor pozitive este la fel ca în cazul
reprezentării prin modul şi semn. În cazul numerelor negative, biŃii se schimbă ca valoare, luând
complementul faŃă de 1 (în loc de 0 se pune 1 şi în loc de 1 se pune 0). Deoarece 010 = - 010,
pentru reprezentarea binară a lui 010, în C1 vor exista două forme: 0000...000 şi 1111...111. Din
această cauză, în reprezentarea C1, pot fi codificate 2p+1 - 1 numere zecimale:

− 2 p + 1, ... ,−1, 0, 1,..., 2 p − 1

Exemplul 1.7:

1110 : 01011
C1
− 1110 : 10100

Reprezentarea prin complement faŃă de 2 (C2) – sau complementul faŃă de bază –


presupune, de asemenea, introducerea bitului de semn bp , care va lua valoarea 0 pentru numere
pozitive şi valoarea 1 pentru numere negative. În cazul numerelor pozitive, restul biŃilor rămân

5
neschimbaŃi, iar în cazul numerelor negative se consideră complementul faŃă de 2 a valorii absolute
N calculat prin una din următoarele metode:
a) La reprezentarea prin C1, se adaugă 00...01:

C2(N) = C1(N)+00...01

b) Se parcurge şirul reprezentării binare a lui N pozitiv, de la dreapta la stânga, păstrând valorile
binare până la întâlnirea primului 1, după care, în continuare, se complementează faŃă de 1.
În reprezentarea C2 pot fi codate 2p+1 numere întregi:

− 2 p , ... ,−1, 0, 1,..., 2 p − 1

010 are reprezentare unică şi anume 0000...000.

Exemplul 1.8: C2
1110 : 01011 0101 1
- 1110 : 10100 + 1010 1
, prin metoda b)
0 0 001
, prin metoda a)
10101

În tabelul 1.2 sunt date reprezentările binare cu semn pe patru biŃi VAS, C1 şi C2, pentru
numere întregi.

Tabelul 1.2. Reprezentări binare cu semn în cazul p=3.


Zecimal Binar VAS Binar C1 Binar
C2

-8 --- --- (1000)

-7 1111 1000 1001

-6 1110 1001 1010

-5 1101 1010 1011

-4 1100 1011 1100

-3 1011 1100 1101

-2 1010 1101 1110

-1 1001 1110 1111

0 1000 sau 1111 sau 0000


0000 0000

1 0001 0001 0001

2 0010 0010 0010

3 0011 0011 0011

4 0100 0100 0100

6
5 0101 0101 0101

6 0110 0110 0110

7 0111 0111 0111

1.3.2. Codarea binară a numerelor zecimale

De regulă, operatorii umani lucrează cu numere codate zecimal, iar sistemele digitale
operează cu numere binare. Pentru realizarea interfeŃelor de tip om-maşină (sistem digital) se
preferă o codare mixtă şi anume codarea binară a cifrelor zecimale - BCD - separate (decade).
Codul se numeşte BCD.
Între decade se lasă un spaŃiu liber. Pentru codarea binară a celor zece cifre ale sistemului
zecimal sunt necesari minim patru biŃi. Exemple de modalităŃi de codare a cifrelor zecimale sunt
prezentate în tabelul 1.3, cu menŃiunea că BCD 8421 este cel mai popular cod de acest tip (Binary-
coded decimal/zecimal codat binar). Este evident că o parte dintre cuvintele de cod posibile nu sunt
utilizate, iar ponderile ataşate biŃilor pot fi diferite (8421, 2421 etc).

Exemplul 1.9

1510 = 0001 0101 BCD (8421)

Tabelul 1.3. Reprezentări binare ale decadelor

Cifra BCD Cod Cod Cod


zecimală 8421 2421 exces 3 1 din 10

0 0000 0000 0011 1000000000

1 0001 0001 0100 0100000000

2 0010 0010 0101 0010000000

3 0011 0011 0110 0001000000

4 0100 0100 0111 0000100000

5 0101 0101 1000 0000010000

6 0110 0110 1001 0000001000

7 0111 0111 1010 0000000100

8 1000 1110 1011 0000000010

9 1001 1111 1100 0000000001

7
1.3.3. Coduri binare ciclice

Uneori, la măsurarea deplasărilor este necesară o codare a reperelor, în aşa fel încât trecerea
dispozitivului de citire de la un reper la vecinul său să implice o singură modificare de bit, pentru a
nu apărea fenomenul de hazard (distanŃa dintre două cuvinte de cod adiacente să fie exact 1- Fig.
1.1).

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Fig. 1.1. Exemplu de codificare a reperelor pentru o riglă de măsurare absolută a poziŃiei.

DistanŃa dintre două cuvinte de cod reprezintă numărul de diferenŃe între biŃii aflaŃi în poziŃii
echivalente în cele două cuvinte.
Deoarece, de multe ori, codarea reperelor se face pe discuri aflate în mişcare de rotaŃie,
trebuie păstrată condiŃia de diferenŃă de 1 bit şi între cuvintele de cod din extremităŃi. Un astfel de
cod binar se numeşte cod ciclic sau cod Gray. În tabelul 1.4 este prezentat codul Gray pentru 3 biŃi:

Tabelul 1.4. Codul Gray pentru 3 biŃi.

Nr. 0 1 2 3 4 5 6 7
zecimal
Cod 000 001 010 011 100 101 110 111
binar

Cod 000 001 011 010 110 111 101 100


Gray

Există două metode de a construi un cod Gray (CG) de n biŃi:


a) O metodă iterativă, bazată pe faptul că acest cod este reflectat şi pe următoarele observaŃii:
a1) Un CG de 1 bit are cuvinte de cod 0 şi 1;
a2) Un CG de n biŃi se formează din CG de n-1 biŃi adăugând în stânga şirurilor un nou bit care ia
valoarea 0 pentru cele 2n-1 cuvinte de cod ale codului de n-1 biŃi şi apoi valoarea 1 pentru aceleaşi
cuvinte de cod dar ordonate in sens invers.

b) O metodă mai practică pentru dispozitivele numerice, care Ńine seama de valorile grupărilor de
doi biŃi adiacenŃi din reprezentarea în cod binar natural. Astfel, dacă pornind de la dreapta la stânga,
avem bi = bi+1 , atunci bitul i din CG va fi 0; în caz contrar va fi 1. Pentru ultimul bit (cel mai din
stânga) se consideră o extensie cu 0 a reprezentării binare naturale. Metoda se poate verifica pe
exemplul din tabelul 1.4.

8
0
. CG
. (n-1)
0 biŃi
1 CG
. (n-1)
. biŃi
1 reflectat

Fig. 1.2. Construirea prin iteraŃie a Codului Gray.

1.3.4. Coduri alfanumerice

Cuvintele binare pot reprezenta fie numere, fie informaŃii de altă natură. De exemplu, datele
de tipul text conŃin şiruri de caractere dintr-o mulŃime specificată. Fiecare caracter este reprezentat
în interiorul calculatorului printr-un cuvânt binar.
Cel mai utilizat cod pentru reprezentarea binară a literelor şi a numerelor (cod alfanumeric)
este codul ASCII – The American Standard Code for Information Interchange (Codul american
standardizat pentru schimbul de informaŃii). În ASCII, un cuvânt de cod conŃine 7 cifre binare şi
poate reprezenta: cifre zecimale, litere mici şi mari, semne de punctuaŃie, operatori aritmetici şi
logici, simboluri pentru editare şi pentru controlul comunicaŃiei (Tabelul 1.5). Pentru a putea opera
cu sistemele de calcul standardizate s-a introdus un bit suplimentar obŃinându-se un octet.

Tabelul 1.5. Reprezentarea unor caractere în cod ASCII.

b 6 b 5 b 4 b 3 b 2 b1 b 0 caracterul alfanumeric

0 0 0 0 0 0 1 SOH (Start of heading)

0 0 0 0 0 1 0 STX (Start of text)

....................

0 1 1 0 0 0 0 0

0 1 1 0 0 0 1 1

0 1 1 0 0 1 0 2

.......................

1 0 0 0 0 0 1 A

1 0 0 0 0 1 0 B

........................

1 1 0 0 0 0 1 a

1 1 0 0 0 1 0 b

.....................

9
1.3.5. Coduri de stare, condiŃionare şi activare

În proiectarea dispozitivelor numerice apare necesitatea codării binare a stărilor, a condiŃiilor


de acŃionare sau a comenzilor de activare a echipamentelor comandate de aceste dispozitive.
Codificarea stărilor se poate face considerând diverse coduri binare: binar natural, ciclic etc. De
exemplu, pentru realizarea dispozitivelor de comandă a semaforizării unei intersecŃii simple de tipul
E-V,N-S este necesară codarea a şase stări (Tabelul 1.6). Prin X s-a marcat activarea culorii
respective a semaforului.

Tabelul 1.6. Codarea stărilor în cazul unei semaforizări simple.

Culoare semafor aprinsă


Starea E-V N-S Codare

R G V R G V

Trecere E-V - - X X - - 0 0 0

AtenŃie E-V - X - X - - 0 0 1

Oprire E-V X - - X - - 0 1 0

Trecere N-S X - - - - X 0 1 1

AtenŃie N-S X - - - X - 1 0 0

Oprire N-S X - - X - - 1 0 1

În acest caz, pentru codarea celor şase stări este nevoie de minimum trei biŃi.
În general, pentru a coda n stări în binar, sunt necesare cuvinte binare având lungimea
[log 2 n ] , dacă n este putere a lui 2, şi [log 2 n ] + 1 , dacă n nu este putere a lui 2.
1.3.6. Coduri detectoare de erori

Codurile detectoare de erori conŃin o serie de biŃi în exces faŃă de necesarul de biŃi folosiŃi
pentru codarea simplă. La apariŃia unei erori într-un cuvânt de cod (unul sau mai mulŃi biŃi alteraŃi),
prin verificarea unei condiŃii impuse, codul detector de erori va considera că acest cuvânt nu face
parte din structura codului.

Exemplul 1.10

Cod binar având patru cuvinte, care detectează o eroare de un bit:

{000, 011, 101, 110}

Se observă că, adunând biŃii din fiecare cuvânt de cod, se obŃine un număr par. Dacă apare o
eroare de un bit, suma biŃilor este un număr impar. Deşi ar fi suficienŃi doi biŃi pentru crearea celor
patru elemente reprezentate prin cuvintele de cod, s-a introdus un bit suplimentar pentru a putea
detecta erorile, prin considerarea parităŃii sumei biŃilor.

10
Codurile detectoare de erori, cu un singur bit în exces (bitul de paritate), nu pot detecta erori
pe doi biŃi, ci numai erori pe un singur bit sau pe un număr impar de biŃi.

1.4. ADUNAREA ŞI SCĂDEREA NUMERELOR BINARE

Adunarea (scăderea) numerelor binare este o operaŃie elementară care se efectuează Ńinând
seama de tabla adunării (scăderii) în sistemul binar, asemănătoare tablei adunării (scăderii) în
sistemul zecimal (Tabelul 1.7, Tabelul 1.8). x şi y reprezintă cei doi operanzi, iar S (suma), D
(diferenŃa), t sau c – carry (transportul) şi î sau b – borrow (împrumutul), reprezintă rezultatele
operaŃiilor.

Tabelul 1.7. Tabla operaŃiei de adunare.

x y S t(c)

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

În cazul sistemelor digitale, scăderea numerelor binare pe mai mulŃi biŃi se poate face prin
adunare, considerând reprezentarea prin complement faŃă de 2 şi luând al doilea operand cu semn
schimbat.

Tabelul 1.8. Tabla operaŃiei de scădere.

x y D î(b)

0 0 0 0

0 1 1 1

1 0 1 0

1 1 0 0

Procesul de adunare a numerelor binare pe mai mulŃi biŃi se efectuează asemănător cu cel de
adunare a numerelor zecimale, începând cu LSB, poziŃie cu poziŃie, considerând şi bitul de transport
c de la rangul inferior. Pentru un rang binar i se însumează de fapt trei biŃi: câte un bit pentru fiecare
operand xi şi yi şi bitul de transport din rangul inferior ci–1 . Rezultatul insumării sunt doi biŃi: suma
si şi transportul spre rangul superior ci . Schema unui sumator elementar pe un bit este dată în Fig.
1.3.
Dispozitivul ce efectuează suma a două numere binare se numeşte sumator (ADDER).
Prin conectarea mai multor sumatoare elementare se realizează sumatoare pe mai mulŃi biŃi de
forma unor circuite integrate.
În exemplul 1.11 este prezentată scăderea a două numere zecimale prin adunarea numerelor
considerate în cod binar complementar faŃă de doi (al doilea operand luat cu semnul schimbat).

11
ci

ci-1 ∑ si

xi yi

Fig.1.3. Sumator elementar pe un bit.

Exemplul 1.11

Scăderea a două numere binare pe 6 biŃi, utilizând sumatoare:

3110 - 2010 = 1110

bit de semn
3110 = 0 1 1 1 1 1
2010 = 0 1 0 1 0 0
- 2010 = 1 0 1 1 0 0
1110 = 0 0 1 0 1 1

Se neglijază
1 1 1 1 0 0 ci

0 1 1 1 1 1 31
1 0 1 1 0 0 -20
0 0 1 0 1 1 11

Depăşirea domeniului de reprezentare la adunare

Adunarea a două numere binare de semne diferite nu produce o depăşire reală a formatului de
reprezentare. Din această cauză, dacă apar depăşiri formale ale bitului de semn, acesta se neglijează.
Adunarea a două numere binare de acelaşi semn poate produce o depăşire a formatului de
reprezentare şi acest lucru trebuie evitat deoarece se distorsonează informaŃia. Pentru a sesiza faptul
că adunarea a produs o depăşire reală se studiază bitul de semn. Dacă biŃii de semn ai celor doi
operanzi au aceeaşi valoare, iar bitul de semn al sumei este diferit, atunci avem de a face cu o
depăşire. Dacă biŃii de semn ai celor doi operanzi sunt diferiŃi, sau dacă biŃii de semn ai operanzilor
şi cel al sumei au aceeaşi valoare, atunci nu există o depăşire reală şi eventualul transport peste
MSB se neglijează.

1.5. REPREZENTAREA NUMERELOR FRACłIONARE

1.5.1. Reprezentarea numerelor fracŃionare în virgulă fixă

Această reprezentare este mai restrictivă în sensul că poate conduce fie la depăşirea
formatului, fie la o precizie extrem de scăzută.

12
Reprezentarea generală în virgulă fixă este de tipul (1.10):

{SI .F} (1.10)

unde S este bitul de semn, I este partea întreagă (un număr de biŃi fixat pentru reprezentarea părŃii
întreagi), iar F este partea fracŃionară (un număr de biŃi fixat pentru reprezentarea părŃii fracŃionare).
Partea fracŃionară este despărŃită de partea întreagă printr-o virgulă aflată în poziŃie fixă.
Virgula poate să nu apară explicit.
Partea întreagă poate avea un format de reprezentare (număr de biŃi), iar partea fracŃionară
poate avea alt format de reprezentare.

Exemplul 1.12

Daca I are 4 biŃi, F are 2 biŃi şi codul este VAS:

10011.11 = -3,7510
1
În acest exemplu de format, cel mai mic număr care poate fi reprezentat este = 0,2510. În
22
1
general, cel mai mic număr este n
, unde n f = numărul de biŃi ai lui F.
2 f
Evident, apar o limitare superioară şi o limitare inferioară a posibilităŃii de reprezentare.
Numerele reale cu mai multe cifre fracŃionare se trunchiază sau se rotunjesc.

1.5.2. Reprezentarea numerelor fracŃionare în virgulă mobilă

Reprezentarea în virgulă mobilă oferă un interval mai larg de reprezentare numerică şi o


precizie mai bună pentru numerele fracŃionare.
Reprezentarea generală în virgulă mobilă este de tipul (1.11):

{S, M ,E} (1.11)

unde S reprezintă bitul de semn, M este mantisa, iar E reprezintă exponentul - Fig.1.4.
Exponentul şi mantisa pot reprezenta atât numere pozitive cât şi numere negative. M este
număr întreg pozitiv, reprezintă partea fracŃionară şi trebuie să aibă prima cifră nenulă (1.12). S
reprezintă semnul mantisei (al numărului propriuzis) şi este 0, dacă numărul este pozitiv, sau 1,
dacă numărul este negativ. E este un număr întreg cu semn (cu bitul cel mai semnificativ considerat
ca bit de semn) şi reprezintă puterea bazei necesară pentru ca M să aibă prima cifră nenulă.

31 30 23 22 0
S E M

Fig. 1.4. Reprezentarea numerelor binare în virgulă mobilă, precizie simplă.

(S, M, E)2 = ± 0 .M 2 × 2 E 2
(1.12)

Standardele existente stabilesc mai multe tipuri de formate pentru reprezentarea numerelor
binare în virgulă mobilă:
► precizie simplă – 32 biŃi (un bit pentru S, 8 biŃi pentru E şi 23 de biŃi pentru M),
► precizie dublă – 64 biŃi (un bit pentru S, 11 biŃi pentru E şi 52 de biŃi pentru M),
► precizie cvadruplă.

13
Exemplul 1.13:

-12.510 = 1 1100.12 = 1 (11001)*(10) EXP(100)2

sau, în formatul de precizie simplă din Fig. 1.4:

31 30 23 22 0
1 0 0 ... 1 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 1 1 0 0 1

AplicaŃii

i) Se consideră numărul pozitiv (11)8. Să se scrie numărul în baza 2, cod binar natural.
ii) Dacă (ABC)16 = Y, cât este Y8 ?
iii) Se consideră numerele binare pe 5 biŃi, în cod C2: 01101 şi 01011. Să se precizeze dacă prin
sumarea lor se produce depăşire. Dacă nu se produce depăşirea să se scrie suma (în acelaşi format).
iv) Să se reprezinte (-12)10 în cod binar C1.
v) Dacă (11)10 = X, cât este X2 ?
vi) Să se reprezinte numărul (-13)10 în cod binar complementar faŃă de 2.
vii) Se consideră numerele binare pe 5 biŃi, în cod C2: 11011 şi 11110. Să se precizeze dacă prin
sumarea lor se produce depăşire. Dacă nu se produce depăşirea să se scrie suma (în acelaşi format).
viii) Se consideră numerele binare pe 5 biŃi, în cod C2: 11011 şi 01111. Să se precizeze dacă prin
sumarea lor se produce depăşire. Dacă nu se produce depăşirea să se scrie suma (în acelaşi format).
ix) Să se reprezinte (-17)10 în cod binar valoare absolută şi semn.
x) Se consideră numărul pozitiv (100010)2. Să se scrie numărul în baza 16.
xi) Dacă (A0)16 = X, cât este X2 ?

14