Documente Academic
Documente Profesional
Documente Cultură
Conversii 7
(1.1)
Pentru reprezentarea unui număr întreg în baza 2, se împarte numărul succesiv
la 2 până când câtul devine mai mic decât împărţitorul. Reprezentarea numărului se
obţine scriind resturile de la stânga la dreapta în ordinea inversă obţinerii lor.
În sistemul hexazecimal numerele sunt reprezentate conform descompunerii
lor după puterile lui 16. Fiecare putere a lui 16 are drept coeficient de multiplicare un
număr natural cuprins între 0 şi 15. Cifrele sistemului hexazecimal sunt următoarele: 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Cifrele unui număr reprezentat în baza 16 se
ordonează de la stânga la dreapta, în ordinea descrescătoare a rangurilor acestora,
începând cu cifra cea mai semnificativă (diferită de zero):
(1.2)
(1.3)
Aplicaţia 1
Fie numărul N = 10100111,111(2). Să se reprezinte acest număr în sistemul
zecimal.
N = 27+25+22+21+20+2-1+2-2+2-3 = 167,875(10)
Aplicaţia 2
Fie numărul N = A7,E(16). Să se reprezinte acest număr în sistemul zecimal
N = 10·161+7·160+14·16-1 = 167,875(10)
Conversia numerelor din zecimal în binar, respectiv în hexazecimal
Algoritmul de conversie este identic pentru ambele cazuri. Partea întreagă si
partea fracţionară a numărului se tratează separat. Conversia părtii întregi a numărului
se face prin împărţiri repetate la baza în care se doreşte noua reprezentare, reţinând de
fiecare dată restul împărţirii. Resturile împărţirilor vor fi chiar cifrele căutate. Restul
primei împărţiri este ultima cifră a părtii întregi, cifra de rang 0. Împărţind acum câtul
se obţine ca rest cifra de rang 1. Noul cât se împarte la rândul lui, obţinându-se cifra de
pondere 2. Algoritmul de conversie a părtii întregi se termină când câtul obţinut este 0,
restul ultimei împărţiri fiind cea mai semnificativă cifră a reprezentării în noua bază.
Aplicaţia 3
Să se scrie reprezentarea binară a numărului N = 167(10).
167/2 = 83 rest 1 LSB
83/2 = 41 rest 1
41/2 = 20 rest 1
20/2 = 10 rest 0
10/2 = 5 rest 0
5/2 = 2 rest 1
2/2 = 1 rest 0
1/2 = 0 rest 1 MSB
Citind de jos în sus cifrele binare, N = 10100111(2)
Aplicaţia 4
Sa se scrie reprezentarea hexazecimală a numărului N = 46546 (10).
46546/16 = 2909 rest 2
2909/16 = 181 rest 13
181/16 = 11 rest 5
11/16 = 0 rest 11
Citind cifrele de jos în sus şi înlocuindu-le cu simbolurile hexazecimale, N = B5D2 (16)
1.1 - Reprezentarea în sistemele de numeraţie binar şi hexazecimal. Conversii 9
Aplicaţia 6
Să se afle reprezentarea hexazecimală a numărului 11011011001,10101(2)
Reprezentarea se completează cu zerouri, în aşa fel încât atât partea întreagă, cât şi cea
zecimală să conţină un număr de cifre multiplu de 4.
0110 1101 1001,1010 1000(2) = 6D9,A8(16)
Conversia numerelor din hexazecimal în binar
Un număr hexazecimal se converteşte în binar prin simpla înlocuire a fiecărei
cifre hexazecimale cu reprezentarea ei în binar după primele patru puteri ale lui 2
(codul binar pe patru biţi al cifrei).
Aplicaţia 7
Să se afle reprezentarea binară a numărului 2AF,8C(16)
Fiecare cifră hexazecimală se converteşte în binar şi se renunţă la zerourile inutile.
2AF,8C(16) = 0010 1010 1111,1000 1100(2) = 1010101111,100011(2)
Aplicaţia 8
Să se efectueze următoarele adunări:
a) 10110110,01101(2) + 1101101,0001(2)
b) 3A45,90C(16) + 70D,21(16)
10110110,01101 + 3A45,90C +
1101101,0001 70D,21
100100011,01111(2) 4152,B1C(16)
Scăderea
Operaţia de scădere se realizează similar cu cea de adunare, cu următoarea
specificaţie: când în urma scăderii a două cifre de acelaşi rang este necesar un
împrumut, acesta se face de la cifra cu rang imediat superior a descăzutului.
Aplicaţia 9
Să se efectueze următoarele scăderi:
a) 11011110,10(2) – 1011001,01(2)
(16)
b) CE7C,F1(16) – AD01,59
a) 11011110,10 – b) CE7C,F1 –
1011001,01 AD01,59
10000101,01 217B,98
de n ori
N Domeniul de valori
8 biţi = 1B (byte) = 1 octet 0…255
16 biţi = 2B (byte) = 1 cuvânt 0…65535
32 biţi = 4B (byte) = 1 dublu cuvânt 0...2147483647
12 Reprezentarea numerelor în sistemele de calcul și operații cu acestea - 1
Exemple:
a) Reprezentarea pe 8 biţi a numărului 75(10) este:
75(10) = 26 + 23 + 21 + 20 = 01001011(2) = 4B(16)
b) Reprezentarea pe 16 biţi a numărului 20345(10) este:
Aplicaţia 10
Să se reprezinte în cod semn şi modul numerele +93(10) şi -93(10).
Se reprezintă modulul numărului:
93(10) = 01011101(2)
1.3 - Reprezentarea numerelor în virgulă fixă 13
(1.14)
Complementul faţă de 2 al numărului A reprezintă chiar opusul lui A în
această reprezentare.
Aplicaţia 12
Să se reprezinte în cod complement faţă de 2 numerele +19(10) şi -19(10)
Se reprezintă modulul numărului:
19(10) = 00010011(2)
Reprezentarea numărului +19(10) în cod complement faţă de 2 este:
+19(10) = 00010011(2)
Reprezentarea numărului -19(10) în cod complement faţă de 2 este:
-19(10) = 11101100(2)+
1
11101101(2)
Aplicaţia 13
Să se efectueze pe 8 biţi următoarele adunări în C2:
a) 34 + 59 = 95
00100010 +
00111011
01011101
Rezultatul este corect deoarece s-a obţinut un număr pozitiv, iar capacitatea de
reprezentare a rezultatului nu a fost depăşită.
b) 72 + 84 = 156
01001000 +
01010100
10011100
Reprezentarea rezultatului obţinut, 156 ocupă 8 biţi. Pentru a i se reprezenta şi semnul,
mai este necesar un bit, deci se depăşeşte capacitatea de reprezentare pe 8 biţi.
Rezultatul nu poate fi utilizat deoarece este interpretat drept număr negativ scris pe 8
biţi.
c) -42 – 54 = (-42) + (-54) = -96
11010110 +
11001010
110100000
Rezultatul este corect, deoarece se obţine un număr negativ reprezentat în C2. Apare
un transport de la cifra de semn, care se neglijează.
d) -88 – 47 = (-88) + (-47) = -135
10101000 +
11010001
101111001
Neglijându-se transportul de la cifra de semn, se obţine un număr pozitiv, deci
rezultatul este incorect.
16 Reprezentarea numerelor în sistemele de calcul și operații cu acestea - 1
e) 98 – 59 = 98 + (-59) = 39
01100010 +
11000101
100100111
Neglijându-se transportul de la cifra de semn, se obţine un număr pozitiv, deci
rezultatul este corect.
Aplicaţia 14
Să se efectueze următoarele scăderi:
a) 74 + (-29) = 45
b) 74 - (+29) = 45
a) 01001010 + b) 01001010 -
11100011 00011101
100101101 00101101