Documente Academic
Documente Profesional
Documente Cultură
Reprezentarea numerelor
Conversia unui număr întreg din baza 10 în altă bază se face prin algoritmul de
împărţiri succesive. Astfel numărul N reprezentat în baza 10 se împarte la noua bază în
mod succesive, până când se obţine câtul 0. Resturile obţinute în urma împărţirilor se reţin,
ele constituind cifrele reprezentării în noua bază. Ultimul rest obţinut reprezintă cifra cea
mai semnificativă a noii reprezentări, primul rest obţinut fiind cifra cea mai puţin
semnificativă a noii reprezentări ( b0 ).
Sistemele digitale sunt realizate din circuite ce procesează cifrele binare „0” şi „1”.
Din acest motiv, sistemul folosit în calculul digital este cel binar. Numerele fără semn se
prezintă ca un şir de „0” şi „1”. Fiecare cifră binară poartă denumirea de bit (binary digit).
n −1
Valoarea şirului binar N = bn −1bn− 2 ...b1b0 .b−1b−2 ...bm −1 este dată de formula N = ∑ bi * 2i ,
i =− m
unde bi poate lua valorile „0” sau „1”.
Pentru reprezentarea numerelor cu semn, se alocă bitul cel mai semnificativ (cel mai
din stânga – most significant bit - MSB) semnului, „0” fiind folosit pentru numere
pozitive, iar „1” pentru numere negative. În mod uzual, în sistemele de calcul se operează
fie cu numere întregi, fie cu numere fracţionare. Din acest motiv, poziţia virgulei este
considerată implicit după cum urmează:
- pentru numere întregi poziţia virgulei este la dreapta bitului cel mai puţin
semnificativ; astfel un număr întreg va avea forma bn −1bn − 2 ...b1b0 . unde bn −1 este
bitul de semn
- pentru numere fracţionare poziţia virgulei este la dreapta bitului cel mai
semnificativ, care este şi bitul de semn; astfel un număr fracţionar va avea forma
b0 .b−1...b− n +1b− n unde b0 este bitul de semn
În ceea ce priveşte reprezentarea numerelor cu semn există trei formate de reprezentare:
formatul semn-mărime, formatul complement de 1, formatul complement de 2.
Semn Marime
+ 25 = 0 1 1 0 0 1
- 25 = 1 1 1 0 0 1
+ 2 = 0 0 1 0 + - 2 = 1 0 1 0 +
+ 3 = 0 0 1 1 + 3 = 0 0 1 1
0 1 0 1 = +5 1 1 0 1 = -5 (!)
a. c.
- 2 = 1 0 1 0 + + 2 = 0 0 1 0 +
- 3 = 1 0 1 1 - 3 = 1 0 1 1
0 1 0 1 = +5 (!) 1 1 0 1 = -5 (!)
b. d.
Cele două operaţii, de testare a numărului zero, respectiv operaţia de adunare, sunt printre
cele mai frecvente şi importante operaţii în sistemele de calcul, din acest motiv trebuie
folosite alte formate de numere pentru reprezentarea numerelor cu semn, pentru
surmontarea acestor două dezavantaje majore.
Semn Marime
+ 25 = 0 1 1 0 0 1
- 25 = 1 0 0 1 1 0
- 2 = 1 1 0 1 + + 2 = 0 0 1 0 +
- 3 = 1 1 0 0 - 3 = 1 1 0 0
1 1 0 0 1 + 1 1 1 0 = -1
EAC 1
1 0 1 0 = -5
b. d.
Semn Marime
+ 25 = 0 1 1 0 0 1
- 25 = 1 0 0 1 1 1
În ceea ce priveşte domeniul valoric al reprezentării în formatul complementului de 1,
acesta este identic cu cel al reprezentării numerelor în formatul semn-mărime, si anume,
între - 2n−1 şi 2n−1 − 1 pentru numere întregi. Astfel se poate observa că în cazul
complementului de doi, domeniul valoric este asimetric, spre deosebire de formatele semn-
mărime şi complement de 1. Această asimetrie a domeniului valoric poartă numele de
anomalia complementului de doi si este subliniată în tabelul 1.3.
Dezavantaje:
- format mai complicat, în comparaţie cu formatele semn-mărime şi complement de
unu
- formatul complement de doi nu este un format ponderat în conformitate cu notaţia
poziţională
- anomalia complementului de doi
Avantaje:
- numărul zero are o singură reprezentare (0 000), deci testarea numărului zero se
face o singură dată
- implementare facilă a operaţiei de adunare pentru numere reprezentate în formatul
complement de 2, aşa cum este prezentat în exemplul 11.
+ 2 = 0 0 1 0 + - 2 = 1 1 1 0 +
+ 3 = 0 0 1 1 + 3 = 0 0 1 1
0 1 0 1 = + 5 0 0 0 1 = + 1
a. c.
- 2 = 1 1 1 0 + + 2 = 0 0 1 0 +
- 3 = 1 1 0 1 - 3 = 1 1 0 1
1 0 1 1 = - 5 1 1 1 1 = - 1
b. d.
4. Exerciţii rezolvate
Se dau următoarele perechi de numere întregi: +23 şi +18, +23 şi -18, -23 şi +18,
respectiv -23 şi -18. Se cere:
a) Să se convertească numerele în formatele semn-mărime, complement de 1,
respectiv complement de 2.
b) Să se efectueze adunarea celor două numere.
Rezolvare
a)
Se realizează conversia numerelor 23 şi 18 din zecimal în binar:
23/2 = 11 rest 1 18/2 = 9 rest 0
11/2 = 5 rest 1 9/2 = 4 rest 1
5/2 = 2 rest 1 4/2 = 2 rest 0
2/2 = 1 rest 0 2/2 = 1 rest 0
1/2 = 0 rest 1 1/2 = 0 rest 1
2310 = 101112 1810 = 100102
SM 1 0 0 0 1 0 1 = -5
-23 = 1 1 0 1 0 0 0 +
-18 = 1 1 0 1 1 0 1
1 1 0 1 0 1 0 1 +
EAC 1
1 0 1 0 1 1 0
SM 1 1 0 1 0 0 1 = +41
-23 = 1 1 0 1 0 0 1 +
+18 = 0 0 1 0 0 1 0
1 1 1 1 0 1 1
C1 1 1 1 1 0 1 0
SM 1 0 0 0 1 0 1 = -5
-23 = 1 1 0 1 0 0 1 +
-18 = 1 1 0 1 1 1 0
1 0 1 0 1 1 1 +
C1 1 0 1 0 1 1 0
SM 1 1 0 1 0 0 1 = -41
5. Exerciţii propuse