Sunteți pe pagina 1din 22

Informaticǎ aplicatǎ I

http://adl.anmb.ro

Baze şi şişteme de numeratie.


Reprezentarea interna a numerelor şi
caracterelor. Standardul IEEE 754
Timp mediu de studiu: 2 ore
Sarcini de învăţare: Prin parcurgerea acestei unităţi de studiu, studentul va fi capabil să
 utilizeze bazele şi sistemele de numeraţie
 reprezinte un număr în diverse baze de numeraţie
 utilizeze conversia bazelor de numeraţie
 reprezinte intern numere şi caractere

Introducere
Se numeşte sistem de numeraţie totalitatea regulilor folosite pentru scrierea
numerelor cu ajutorul unor simboluri numite cifre.
În decursul timpului s-au impus două sisteme de numeraţie: sistemul de numeraţie
roman şi sistemul de numeraţie arab.
Sistemul de numeraţie roman este un sistem aditiv care are ca cifre simbolurile I, V,
X, L, C, D, M valorizate astfel: I (valoare 1), V (valoare 5), X (valoare 10), L (valoare 50),
C (valoare 100), D (valoare 500), M (valoare 1000).
Orice număr este construit cu aceste cifre. Valoarea numărului se obţine ca sumă
algebrică a cifrelor care îl formează după următoarele trei reguli:
1. Mai multe cifre de aceeaşi valoare, scrise consecutiv, reprezintă suma acestor cifre. De
exemplu: XX X are valoarea 30, MMM are valoarea 3000.
2. O pereche de cifre diferite, cu cifra mai mare aflată în faţa unei cifre mai mici, reprezintă
suma acestor cifre. De exemplu XII are valoarea 10+1+1 = 12, VIII are valoarea 5+1+1+1
= 8, CX are valoarea 100+10=110
3. O pereche de cifre diferite, cu cifra mai mică în faţa unei cifre mai mari, reprezintă
diferenţa acestor cifre. De exemplu IV are valoarea 5-1=4, VL are valoarea 50-5=45.
Sistemul de numeraţie roman are unele inconveniente: scrierea greoaie, numerele
mari au o scriere formată cu multe simboluri, dificultate ridicată în efectuarea operaţiilor
elementare, reprezentarea multiplă a aceluiaşi număr (8 = VIII=IIX).
Sistemul de numeraţie arab este un sistem poziţional în sensul că ponderea unei cifre
în stabilirea valorii unui număr depinde de valoarea cifrei şi de poziţia ocupată în şirul de
cifre folosit în reprezentarea numărului.
Fiecare grup de 10 elemente ( unităţi, zeci, sute, ...) formează o grupă de rang
superior (zece, sută, mie, ... ).
În continuare vom aborda numai sistemul de numeraţie arab.

Definiţii. Proprietăţi. Reprezentarea numerelor întregi într-o bază


Definiţia 1 Fie b  N , b  2 . Se numeşte sistem de numeraţie în baza b o mulţime
de b simboluri distincte, corespunzătoare mulţimii primelor b numere naturale

30 September 2016 Lect. univ. Paul Vasiliu 1


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
 
0,1,…,b - 1. Notăm Sb = ci |i = 0,1,… b - 1 mulţimea acestor simboluri, numite cifre în
baza b .
Toate operaţiile aritmetice simple (adunare, scădere, înmulţire şi împărţire) se
efectuează după aceleaşi reguli referitoare la transportul de la rang inferior la cel superior
şi la împrumutul de la rangul superior, folosite în baza 10.
În activitatea de programare a calculatoarelor sunt des folosite sistemele de
numeraţie în bazele 2, 8, 10 şi 16, pe care le prezentăm în continuare.
În baza b = 2 , S = 0,1 . Sistemul de numeraţie în baza 2 se numeşte sistem binar,
2
iar cifrele sale se numesc cifre binare. Orice cifră binară se numeşte bit. Un octet (byte) este
un grup de 23 = 8 biţi. Un kilooctet (1 Ko, 1 Kbyte, 1 Kb) este egal cu 210 = 1024 octeţi. Un
megaoctet (1 Mo, 1 Mb) este egal cu 2 20 = 1.048.576 octeţi. Un gigaoctet (1Go, 1 Gigabyte,
1 Gb) este egal cu 2 30 = 1.073.741.824 octeţi.
O secvenţă de numărare în baza 2 este: 0, 1, 10, 11, 100, 101, 110, 111,….
Prezentăm mai jos tablele adunării şi înmulţirii în baza 2:

+ 0 1
0 0 1
1 1 10
Tabla adunării în baza 2

x 0 1
0 0 0
1 0 1
Tabla înmulţirii în baza 2
Vom exemplifica adunarea a două numere în baza 2: a=10001111 şî b=11111111.
10001111+
11111111
110001110

Din tabla adunării în baza 2 are loc egalitatea 1 + 1 = 10. Cifra de rang 0 a sumei
devine 0 şi se generează transportul 1 de la rangul 0 la rangul 1. La rangul 1 se efectuează
adunarea 1 + 1 + 1 = 11. Cifra de rang 1 a sumei devine 1 şi se generează transportul 1 de
la rangul 1 la rangul 2. La rangul 2 se efectuează adunarea adunarea 1 + 1 + 1 = 11. Cifra
de rang 2 a sumei devine 1 şi se generează transportul 1 de la rangul 2 la rangul 3. La
rangul 3 se efectuează adunarea adunarea 1 + 1 + 1 = 11. Cifra de rang 3 a sumei devine
1 şi se generează transportul 1 de la rangul 3 la rangul 4. La rangul 4 se efectuează
adunarea adunarea 0 + 1 + 1 = 10. Cifra de rang 4 a sumei devine 0 şi se generează
transportul 1 de la rangul 4 la rangul 5. La rangul 5 se efectuează adunarea adunarea 0 + 1
+ 1 = 10. Cifra de rang 5 a sumei devine 0 şi se generează transportul 1 de la rangul 5 la
rangul 6. La rangul 6 se efectuează adunarea adunarea 0 + 1 + 1 = 10. Cifra de rang 6 a
sumei devine 0 şi se generează transportul 1 de la rangul 6 la rangul 7. La rangul 7 se
efectuează adunarea adunarea 1 + 1 + 1 = 11. Cifra de rang 7 a sumei devine 1 şi se
generează transportul 1 de la rangul 7 la rangul 8. La rangul 8 se efectuează adunarea
adunarea 0 + 1 = 01. Cifra de rang 8 a sumei devine 1 şi operaţia de adunare se termină.
Astfel, în baza 2 are loc egalitatea 10001111 + 11111111 = 110001110. În baza 10
a=143 iar b=255. Evident a + b = 143 + 255 = 398. Numărul 398 în baza 2 este egal cu
numărul 110001110, ceea ce verifică calculul efectuat.
30 September 2016 Lect. univ. Paul Vasiliu 2
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Vom exemplifica înmulţirea a două numere în baza 2: a=1100 şi b=111.
1100 x
111
1100
1100
1100
1010100

Folosind tabla înmulţirii în baza 2 se efectuează pe rând înmulţirile şi apoi se adună


rezultatele parţiale ţinând cont, de transportul de la rangul inferior la rangul superior.
Astfel, în baza 2 are loc egalitatea 1100 x 111 = 1010100.
În baza 10 a=12 şi b=7. Evident a x b=84. Numărul 84 în baza 2 este egal cu numărul
1010100, ceea ce verifică calculul efectuat.
În baza b = 8 , S = 0,1,2,3,4,5,6,7 . O secvenţă de numărare în baza 8 este: 0, 1, 2,
8
…, 7, 10, 11, …, 17, 20, 21, ….
Prezentăm mai jos tablele adunării şi înmulţirii în baza 8:

+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
Tabla adunării în baza 8

x 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 0 4 10 14 20 24 30 34
5 0 5 12 17 24 31 36 43
6 0 6 14 22 30 36 44 52
7 0 7 16 25 34 43 52 61
Tabla înmulţirii în baza 8

Vom exemplifica adunarea în baza 8 pentru numerele a=225 şi b=127.


225+
127
354

Din tabla adunării în baza 8 are loc egalitatea 5 + 7 = 14. Cifra de rang 0 a sumei
devine 4 şi se generează transportul 1 de la rangul 0 la rangul 1. La rangul 1 se efectuează
adunarea 2 + 2 + 1 = 5. Cifra de rang 1 a sumei devine 5 şi se generează transportul 0 de

30 September 2016 Lect. univ. Paul Vasiliu 3


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
la rangul 1 la rangul 2. La rangul 2 se efectuează adunarea adunarea 2 + 1 + 0 = 3. Cifra
de rang 2 a sumei devine 3 şi operaţia de adunare se termină.
Astfel, în baza 8, are loc egalitatea 225 + 127 = 354. Vom verifica corectitudinea
calculului folosind baza 10. Numărul în baza 8, a=225 are reprezentarea zecimală 149.
Numărul în baza 8, b=127 are reprezentarea zecimală 87. Numărul în baza 8, 354 are
reprezentarea zecimală 236. Evident, în baza 10 are loc egalitatea 149 + 87 = 236, ceea ce
verifcă corectitudinea calculului efectuat.
Vom exemplifica înmulţirea în baza 8 pentru numerele a=12 şi b=27.
12 x
27
106
24
346

Folosind tabla înmulţirii în baza 8 se efectuează pe rând înmulţirile şi apoi se adună


rezultatele parţiale ţinând cont, de transportul de la rangul inferior la rangul superior. Astfel,
2 x 7 = 16. Cifra de rang 0 a produsului 12 x 7 devine 6 şi se generează transportul 1 de la
rangul 0 la rangul 1. Se efectuează apoi produsul 1 x 7 = 7 la care se adună transportul 1 şi
se obţin cifrele de rang 1 şi 2 egale cu 10 (7+ 1 = 10). Rezultă că 12 x 7 = 106 în baza 8. Se
efectuează apoi produsul 12 x 2 = 24. Se adună apoi 106 cu 240 şi se obţine rezultatul 346.
Astfel, în baza 8, are loc egalitatea 12 x 27 = 346. Vom verifica corectitudinea
calculului folosind baza 10. Numărul în baza 8, a=12 are reprezentarea zecimală 10.
Numărul în baza 8, b=27 are reprezentarea zecimală 23. Numărul în baza 8, 346 are
reprezentarea zecimală 230. Evident, în baza 10 are loc egalitatea 10 x 23 = 230, ceea ce
verifcă corectitudinea calculului efectuat.
În baza b = 10 , S = 0,1,…,9 . O secvenţă de numărare în baza 10 este: 0, 1, 2, ...,
10
9, 10, 11, 12, ..., 19, 20, ....
Tablele adunării şi înmulţirii în baza 10 sunt cunoscute şi nu le mai prezentăm.
În baza b = 16 , S = 0,1,…,9,A,B,C,D,E,F în care literele corespund respectiv
16
numerelor naturale 10, 11, 12, 13, 14, 15. O secvenţă de numărare în baza 16 este: 0, 1, 2,
..., 9, A, B, ..., F, 10, 11, ..., 1F, 20, 21, 22, ..., 2F, 30, .... Cifrele A, B, C, D, E, F pot fi scrise
şi cu minusculele a, b, c, d, e şi respectiv f.
Prezentăm mai jos tablele adunării şi înmulţirii în baza 16:

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 1 2 3 4 5 6 7 8 9 A B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F 10
2 2 3 4 5 6 7 8 9 A B C D E F 10 11
3 3 4 5 6 7 8 9 A B C D E F 10 11 12
4 4 5 6 7 8 9 A B C D E F 10 11 12 13
5 5 6 7 8 9 A B C D E F 10 11 12 13 14
6 6 7 8 9 A B C D E F 10 11 12 13 14 15
7 7 8 9 A B C D E F 10 11 12 13 14 15 16
8 8 9 A B C D E F 10 11 12 13 14 15 16 17
9 9 A B C D E F 10 11 12 13 14 15 16 17 18
A A B C D E F 10 11 12 13 14 15 16 17 18 19
B B C D E F 10 11 12 13 14 15 16 17 18 19 1A
C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B
30 September 2016 Lect. univ. Paul Vasiliu 4
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Tabla adunării în baza 16

x 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 A B C D E F
2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1
Tabla înmulţirii în baza 16

Vom exemplifica adunarea în baza 16 pentru numerele a=225 şi b=127.


225+
127
34C

Din tabla adunării în baza 16 avem: 5 + 7 = C.Cifra de rang 0 a sumei este C şi


transportul de la cifra de rang 0 la cifra de rang 1 este nul. Se efectează 2 + 2 = 4. Cifra de
rang 1 a sumei devine 4 şi transportul de la cifra de rang 1 la cifra de rang 2 este nul.
Deoarece 2 + 1 = 3 şi transportul a fost egal cu zero rezultă cifra de rang doi a sumei 3.
Astfel, în baza 16, are loc egalitatea 225 + 127 = 34C. Vom verifica corectitudinea
calculului folosind baza 10. Numărul în baza 16, a=225 are reprezentarea zecimală 549.
Numărul în baza 16, b=127 are reprezentarea zecimală 295. Numărul în baza 16, 34C are
reprezentarea zecimală 844. Evident, în baza 10 are loc egalitatea 549 + 295 = 844, ceea
ce verifcă corectitudinea calculului efectuat.
Vom exemplifica înmulţirea în baza 16 pentru numerele a=12 şi b=27.
12 x
27
7E
24
2BE

30 September 2016 Lect. univ. Paul Vasiliu 5


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Din tabla înmulţirii în baza 16 avem 2 x 7 = E. Cifra de rang 0 a produsului 12 x 7
devine E iar transportul la cifra de rang 1 este nul. Rezultă că 12 x 7 = 7E. Se efectuează
produsul 12 x 2 = 24. În final se efectuează adunarea celor două produse 7E + 240 = 2BE.
Astfel, în baza 16, are loc egalitatea 12 x 27 = 2BE. Vom verifica corectitudinea
calculului folosind baza 10. Numărul în baza 16, a=12 are reprezentarea zecimală 18.
Numărul în baza 16, b=27 are reprezentarea zecimală 39. Numărul în baza 16, 2BE are
reprezentarea zecimală 702. Evident, în baza 10 are loc egalitatea 18 x 39 = 702, ceea ce
verifcă corectitudinea calculului efectuat.
În cele ce urmează fixăm o bază b şi notăm B = 0,1,…, b - 1 şi Bk = B pentru orice
k  N . Fie produsul cartezian An = B0 × B1 × × Bn . Pe mulţimea An se consideră ordinea
lexicografică, definită prin:  n ,  n1 , ,  0    n ,  n1 , , 0     k 0,1, , n cu
proprietatea  k   k şi  i  i , i  k  1, , n .
Cu aceste notaţii au loc următoarele rezultate:
Teorema 1 Funcţia f n : An  0,1, , bn1  1 definită prin
n
f n  n ,  n 1 , ,  0     n i b n i este o funcţie bijectivă.
i 0

Teorema 2 Fie b o bază. Orice număr natural nenul x poate fi scris în mod unic sub
n
forma x    n i b n i cu  n  0 , i  0,1, ,  b  1 cu i  0,1, ,n.
i 0

Scrierea lui x sub forma din teorema 2 se numeşte reprezentarea lui x în baza b .
Trecerea unui număr dintr-o bază în alta se numeşte conversie. Convenim să scriem baza
în care este reprezentat un număr ca indice. Deoarece x se poate reprezenta sub forma
 
x    nb   n 1  b    2  b  1   0 se deduce faptul că reprezentarea sub forma din
teorema 2 a unui număr natural nenul x se poate face prin împărţiri succesive la baza b şi
reţinerea resturilor de la sfârşit spre început:
x  bc0   0 , 0   0  b, c0  0
c0  bc1  1 , 0  1  b, c1  0

cn2  bcn1   n1 , 0   n1  b, cn1  0


cn1  bcn   n , 0   n  b, cn  0
De exemplu, numărul 23 se scrie în baza 2 astfel:
23  2 11 1
11  2  5  1
5  2  2 1
2  2 1  0
1  2  0 1
Rezultă că 2310  101112
Conversia de la baza b la baza 10 se face prin însumarea puterilor lui b înmulţite
cu cifrele din baza b corespunzătoare. Conversia unui număr întreg dintr-o bază b1 într-o
bază b2 se face prin intermediul bazei 10 . În cazul particular, în care baza b1 care este o
putere a lui b2 sau invers, conversia se poate face şi direct.

30 September 2016 Lect. univ. Paul Vasiliu 6


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Fie b1  b , cu k  1 . Conversia de la baza b1  b k la baza b corespunde dezvoltării
k

fiecărei cifre din reprezentare în echivalentul ei în baza b utilizând k cifre (adaugând


eventual zerouri în faţă). De exemplu, 4 B16  010010112 deoarece 16 = 24 .
Conversia de la baza b la baza b1  b k se realizează înlocuind de la dreapta la stânga
grupele de k cifre din baza b prin cifra în baza b1 corespunzătoare. Dacă numărul de cifre
nu este multiplu de k se completează configuraţia la stânga cu zerouri. De exemplu,
110011002  CC16 .
Din cele prezentate rezultă că pentru transformarea unui număr întreg dintr-o bază
oarecare b în baza 10 se înmulţeşte ultima cifră a numărului cu baza la puterea 0, penultima
cifră se înmulţeşte cu baza la puterea a 1-a, antepenultima cu baza la puterea a 2-a, etc. şi
se adună rezultatele acestor înmulţiri. De exemplu: (1101)2 = 1×20 + 0×21 +1×22 +1×23 = 13
, ( A3C )16  12 160  3 161  10  162  2620 .
Pentru a face astfel de transformări trebuie cunoscute cifrele numărului care se transformă.
Cifrele numărului sunt resturile împărţirii întregi a numărului la baza sistemului de numeraţie
în care este scris. După fiecare împărţire, noul număr care se împarte este câtul împărţirii
precedente. Împărţirile continuă până când câtul devine 0.
Pentru transformarea unui număr întreg din baza 10 într-o bază oarecare b se
împarte numărul respectiv la bază, obţinându-se un cât şi un rest mai mic decât b. Apoi se
împarte câtul obţinut la b obţinându-se un nou cât şi un nou rest mai mic decât b. Împărţirea
continuă până când se obţine câtul 0. Cifrele numărului în baza b sunt resturile împărţirilor,
citite de la ultimul rest către primul.

Reprezentarea numerelor reale într-o bază


Pentru scrierea unui număr real şi pozitiv în baza b considerăm mulţimea
C  N  B1   Bn  , cu Bk  0,1, ,  b  1 , şi funcţia F : C   0,   definită prin
*


n n  b  1
F   0 , 1 , , n ,   0   . Deoarece şi b  2 rezultă că seria
0 n

n 1 b n
bn b

1 

geometrică  n este convergentă şi deci şi seria  nn este convergentă, F fiind astfel
n 1 b n 1 b

bine definită. Cu aceste notaţii are loc următoarea teoremă:


Teorema 3 Fie b o bază şi F : C   0,   definită ca mai sus. Atunci următoarele
afirmaţii sunt adevărate:
1. F este surjectivă.
c
2. Pentru orice număr real x  0 care nu este de forma n cu c  N şi n  N * , ecuaţia
b
F    x are soluţie unică în mulţimea C .
c
3. Dacă numărul real x  0 este de forma n
cu c  N şi n  N * , atunci există
b
 ,   C , cu    astfel încât F    F     x . În plus, dacă   C are proprietatea
F    x , atunci    sau    .

30 September 2016 Lect. univ. Paul Vasiliu 7


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754


Definiţia 2 Reprezentarea x   nn în baza b a numărului real x  0 se numeşte
n 1 b

periodică dacă există numerele naturale n0 şi p astfel încât q  q p1 pentru orice q  n0 .
În acest caz, se notează x   0 , 1 2  n 1  n  n 1
0 0 0
n  p  .
0

Teorema 4 Fie b o bază. Un număr real x  0 este raţional dacă şi numai dacă x
admite o reprezentare periodică în baza b .
Pentru scrierea unui număr real pozitiv x în baza b se procedează în felul următor.
Se scrie x   x    x unde prin  x  am notat partea întreagă a lui x , iar prin  x partea
fracţionară a lui x . Conversia numărului real pozitiv x din baza 10 în baza b se face separat
pentru partea întreagă (care este un număr întreg) şi partea fracţionară. Conversia părţii
fracţionare se face prin înmulţiri repetate cu baza b , după cum urmează:
b   x  x1   x1   x1  1   x1 
b   x1  x2   x2    x2    2   x2 

b   xn1  xn   xn    xn    n   xn 

Rezultă că  xb  0, 1 2  n


În urma acestor înmulţiri repetate, pot să apară trei cazuri:
n

1. Dacă  xn   0 , şirul de înmulţiri se termină, iar  xb  0, 1 2  n   kk . Acest
k 1 b
c
caz corespunde cazului în care x  cu c  N şi n  N * .
bn
2. Dacă  xn   0 , dar se observă o periodicitate, adică o cifră sau un grup de cifre
n
k
care se repetă atunci  xb  0, 1 2 n   . Acest caz corespunde cazului în care x
k 1 bk
c
este număr raţional dar x  pentru orice c  N şi n  N * .
bn
3. Dacă  xn   0 , iar cifrele obţinute se succed fără a respecta vreo regulă. Acest caz
corespunde cazului în care x este număr iraţional. În această situaţie
 n
 xb  0, 1 2  n   kk este o aproximare a lui  xb .
b k 1

Conversia unui număr real dintr-o bază în altă bază se face separat pentru partea
întreagă a numărului şi separat pentru partea sa fracţionară.
Conversia părţii întregi se face prin metoda împărţirilor succesive. Se fac împărţiri
până când câtul devine zero, iar numărul se obţine din şirul resturilor scris în ordinea inversă
obţinerii lor.
Conversia părţii fracţionare se face prin metoda înmulţirilor succesive. Se fac înmulţiri
până când partea fracţionară devine nulă sau se obţine un număr predefinit de cifre sau se
obţine o periodicitate. Cifrele părţii fracţionate sunt cifrele care ajung în faţa punctului
zecimal, adică partea întreagă a produsului obţinut.
Partea fracţionară a unui număr scris într-o bază b se poate scrie sub forma:
c-1 c-2 c-3
   ...
b b b
30 September 2016 Lect. univ. Paul Vasiliu 8
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
unde c-1 este cifra aflată imediat după virgulă, c-2 este a doua cifră a părţii zecimale, etc.
Vom exemplifica cele expuse consideând numărul 0.369140625 scris în baza 10.
Vom converti acest număr în baza 8. Vom înmulţi sistematic părţile fracţionare cu 8.
Rezultatele calculului sunt prezentate în tabelul de mai jos.
S-a obţinut cifra 0 după virgulă. Rezultă că (0.369140625 )10  (0.275)8 .
Efectuând conversia inversă se obţine:
2 7 5 128  56  5 189
(0.275)8       0.369140625 .
8 82 83 512 512

Reprezentarea numerelor întregi cu semn în complement faţă de 2


Numerele sunt reprezentate în memoria calculatorului ca şi numere binare, pe un
anumit număr de biţi. Valorile care pot fi reprezentate depind de numărul de biţi folosiţi
pentru reprezentarea respectivă. De exemplu, pe 2 biţi poate fi reprezentată valoarea
maximă 3 = (11)2 , iar pe 8 biţi poate fi reprezentată valoarea maximă 255 = (11111111)2 .
În reprezentarea numerelor întregi cu semn, atunci un bit din numărul total de biţi ai
reprezentării este folosit pentru semnul numărului. Bitul de semn va fi bitul de rang maxim
(cel mai din stânga).
În reprezentarea în complement faţă de 2, un număr pozitiv se reprezintă pe n biţi,
cu bitul de semn 0. Valoarea maximă reprezentabilă pe n biţi este:
Pe 4 biţi: 0 1 1 1 (111)2  7  23 -1

0 1 1 1 1 1 1 1
Pe 8 biţi: (1111111)2  127  27 -1

Pe n biţi, valoarea maximă reprezentabilă este: 1  21  22   2n-1  2n -1 .


În reprezentarea în complement faţă de 2, numerele negative se obţin scăzând în
binar, numărul pozitiv din 2n . Bitul de semn pentru numerele negative va fi 1. În acest cod,
dacă X este pozitiv se reprezintă ca atare pe n-1 biţi, iar dacă este negativ, se reprezintă
valoarea 2n - | X | . Vom da următorul exemplu:
Numărul +22 are reprezentarea pe 8 biţi:
+22 0 0 0 1 0 1 1 0

Numărul -22 se obţine scăzând din 2n în binar, valoarea +22 în binar:


28 1 0 0 0 0 0 0 0

+22 0 0 0 1 0 1 1 0
-22 1 1 1 0 1 0 1 0

Acelaşi rezultat se obţine dacă se scade în zecimal +12 din 2n ( din 28 ) şi se


reprezintă rezultatul scăderii în binar: 28 -22=256-22=234, (234)10  (11101010)2 .
O metodă mai rapidă de reprezentare a numerelor întregi negative în complement
faţă de 2 pe n biţi este dată de următoarea regulă: pentru a reprezenta în complement faţă

30 September 2016 Lect. univ. Paul Vasiliu 9


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
de 2 un număr întreg negativ se reprezintă modulul său pentru care, începând de la bitul de
ordin zero spre stânga toţi biţii 0 şi primul bit 1 se păstrează şi toţi ceilalţi îşi inversează
valoarea (0 în 1 şi 1 în 0).
În cod complement faţă de 2, valoarea minimă reprezentabilă pe n biţi este egală cu
-2n-1 .
Considerăm cazul n = 4 biţi. Pe patru biţi numărul X=6 reprezentarea în binar pe 4
biţi este: 0110. Pentru X=-6, reprezentarea în binar va fi cea a numărului pozitiv 24 - 6  10
şi care în binar este 1010. Aceeaşi reprezentare se obţine pornind de la reprezentarea lui
+6 şi folosind regula de mai sus.
Alte coduri de reprezentare a valorilor întregi sunt codul direct şi codul invers.
În codul direct bitul de rang n-1 (cel mai din stânga) este rezervat pentru semn. Un
număr negativ se reprezintă în cod direct reprezentând modulul său după care bitul se semn
ia valoarea 1.
În codul invers bitul de rang n-1 (cel mai din stânga) este rezervat pentru semn. Un
număr negativ se reprezintă în cod invers reprezentând modulul său după care se
inversează valorile tuturor biţilor reprezentării.
Calculatoarele actuale folosesc codul complementar pentru reprezentarea întregilor.
În acest cod, valoarea 0 (zero) are reprezentare unică.

Reprezentarea numerelor reale cu virgulă mobilă


Reprezentarea numerelor reale cu virgulă mobilă este o metodă de reprezentare
finită a numerelor reale care este implementată pe calculatoarele electronice.
Definiţia 3 Fie x  R , b o bază de numeraţie, p  N * , L, U  Z , E   L,U   Z
i 0,1, ,  b  1 , i  1, 2, , p .
  p 
Reprezentarea x    11  22   p   b E se numeşte reprezentare cu virgulă
b b b 
mobilă în baza b . Această reprezentare se notează x    0, 1 2  p b  b E . Numărul real
  p 
m   11  22    se numeşte mantisă. Numărul întreg E se numeşte exponent.
b b bp 


Evident x  m  b E . Fie F  x | x    0, 1 2  p b  b E  mulţimea numerelor în virgulă
mobilă în baza b . Mulţimea F este caracterizată de baza b a sistemului de numeraţie,
mulţimea cifrelor sistemului de numeraţie în baza b , precizia p  N * de reprezentare şi de
intervalul  L,U  , L, U  Z al exponenţilor şi este în mod evident o mulţime finită dacă p, L, U
sunt finite.
Definiţia 4 Sistemul de calcul cu numere reprezentate cu virgulă mobilă se numeşte
normalizat dacă pentru orice x  F cu x  0 atunci 1  0 . Pentru x  R notăm cu x N
valoarea normalizată a lui x .
Dacă x    n n1 1 0 ,  1 2   m b cu  n  0 ,
atunci x N  0,nn1 1012 m  bn1 .
Dacă x    0,  1 2   m b cu  1  0 ,
atunci x N  0, 12   m  b0 .
30 September 2016 Lect. univ. Paul Vasiliu 10
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Dacă x    0,  1 2  i i 1   m b cu  1   2   i  0 şi   i 1  0 , atunci
x N  0,   i 1   m  b  i
Se pot defini două sisteme normalizate de numere cu virgulă mobilă: simplă precizie
şi dublă precizie.
Se poate arăta că dacă F este mulţimea numerelor cu virgulă mobilă, în baza b , cu
precizia p , normalizate, atunci card  F   2  b  1 b p 1 U  L  1  1 .
De exemplu, în cazul sistemului de numeraţie binar, cu precizia p  2 , L  1 şi U  1
, mulţimea F are 2  2  1 221 1   1  1  1  13 elemente. Acestea sunt:

x1  0 ,
1 0  1 0 
x2,3    1  2  21  0, 012  0, 2510 , x4,5    1  2  20  0,12  0,510
2 2  2 2 
1 0  1 1 
x6,7    1  2  21  12  110 , x8,9    1  2  21  0, 0112  0,37510
2 2  2 2 
1 1  1 1 
x10,11    1  2  20  0,112  0, 7510 , x12,13    1  2  21  1,12  1,510
2 2  2 2 
Elementele din F nu sunt uniform repartizate. O repartiţie uniformă se obţine doar
pentru un exponent fixat.
Fie x  R care nu depăşeşte limitele lui F . În mulţimea F reprezentantul lui x este
  p 
  11  22   p   b E pe care îl notăm cu float  x  , a cărui mantisă se obţine din mantisa
b b b 
float  x   x 1
lui x rotunjită la p cifre. Eroarea relativă este    b1 p .
x 2
Numărul float  x  este cel mai apropiat element de x din mulţimea F . Dacă există
două reprezentări cu virgulă mobilă ale lui x egal depărtate de x se consideră acea
reprezentare cu virgulă mobilă a cărei ultimă cifră este număr par.
1
Definiţia 5 Numărul u  b1 p se numeşte unitatea de rotunjire la par a maşinii.
2
Se poate demonstra că float  x op y    x op y    x op y   u , unde op este oricare
dintre operatorii de adunare, scădere, înmulţire şi împărţire a numerelor reale.

Standardul IEEE 754


În decursul timpului au fost elaborate la Institute of Electrical and Electronics
Engineers (IEEE) o serie de standarde de reprezentare a numerelor reale cu virgulă mobilă
normalizată, în simplă (SP, pe 32 biţi) şi dublă precizie (DP, pe 64 biţi). În prezent, pe toate
platformele PC se foloseşte standardul IEEE 754.
În standardul IEEE 754 o reprezentare cu virgulă mobilă a unui număr real x are
0 pentru x  0
structura următoare: prima poziţie binară este rezervată pentru semn, S  
1 pentru x  0
. Următoarele k poziţii binare sunt rezervate pentru exponentul deplasat

30 September 2016 Lect. univ. Paul Vasiliu 11


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
 8 pentru SP
𝐸𝐷 = 𝐸 + 2𝑘−1 − 1, E fiind exponentul. Valorile lui k pot fi: k   . Ultimele p
11 pentru DP
poziţii binare reprezită precizia de reprezentare şi sunt rezervate mantisei numărului x N ,
24 pentru SP
p .
53 pentru DP
   p 1 
Fie x N    10  21   p  2 E . Deoarece x N este forma normalizată rezultă că
2 2 2 
 0  1 , motiv pentru care se omite  0 , care se subînţelege. Bitul  0 se numeşte bit ascuns,
iar reprezentarea se numeşte cu virgulă mobilă, cu bit ascuns. Se consideră
  p 1     p 1
x N    11   p 1  2 E 1 , mantisa m  11  22   p 1 care se rotunjeşte la par şi
2 2  2 2 2
exponentul E  1 . Se determină exponentul decalat ED  E  2k 1  1 , a cărui reprezentare
fără semn este ED   e1e2 ek 2 . Valoarea 2k 1  1 se numeşte decalaj.
Deoarece reprezentarea exponentului decalat se face pe k biţi fără semn rezultă că
valoarea minimă a exponentului decalat este EDmin  0 , iar valoarea maximă a exponentului
decalat este EDmax  2k 1  2k 2   21  1  2k 1. Rezultă că 0  E  2k 1  1  2k  1 , de unde
2k 1  1  E  2k 1 şi de aici 2k 1  2  E  2k 1  1. Deci, L  2k 1  2 , U  2k 1  1 ,
E   L,U  Z . Reprezentarea cu virgulă mobilă în standardul IEEE 754 se notează cu
tripletul 1, k , p  .
Standardul IEEE 754 defineşte două valori speciale Inf şi Nan . Valoarea Inf se
generează în urma efectuării unor operaţii aritmetice care au ca rezultat  (de exemplu
împărţirea la 0). Valoarea Nan (Not A Number) se generează în urma efectuării unor operaţii
aritmetice care conduc la un caz de nedeterminare (de exemplu    ).
Valoarea numărului real x reprezentat cu virgulă mobilă se poate determina astfel:
x   1 1  m  2ED2 1 , dacă 0  ED  2k  1 ;
S k 1

x  0. , dacă ED  0 , i  0,   i  1, 2, ,  p  1 şi S  0 ;
x  0. , dacă ED  0 , i  0,   i  1, 2, ,  p  1 şi S  1 ;
x   1 m  22 , dacă ED  0 şi   i 1, 2, ,  p  1 astfel încât  i  0 ;
k 1
S 2

x   Inf , dacă ED  2k  1 , i  0,   i  1, 2, ,  p  1 şi S  0 ;
x   Inf , dacă ED  2  1 , i  0,   i  1, 2,
k
,  p  1 şi S  1 ;
x  Nan , dacă ED  2  1 , şi   i 1, 2,
k
,  p  1 astfel încât  i  0 .
Reprezentarea cu virgulă mobilă 1, k , p  1 are configuraţia:
S e1 e2 ek 1 2  p 1
0 1 2 k k 1 k 2 k  p 1

Pentru k  8 şi p  24 se obţine reprezentarea în simplă precizie 1, 8, 23 pe 32 biţi.


S e1 e2 e3 e4 e5 e6 e7 e8 1 2  23
0 1 2 3 4 5 6 7 8 9 10 31

30 September 2016 Lect. univ. Paul Vasiliu 12


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Pentru k  11 şi p  53 se obţine reprezentarea în dublă precizie 1, 11, 52  pe 64 biţi.
S e1 e2 e11 1 2  52
0 1 2 11 12 13 63

Prezentăm în continuare câteva exemple.

Exemple
1. Vom determina reprezentarea cu virgulă mobilă, în simplă precizie, a numărului real
pozitiv x  0.310 .
Considerăm numărul x  x  0.3 . Atunci  x   010  02 şi
 x   0.3 10  0.010011001100110011 2 .
Rezultă că
x   x    x   0  0.010011001100110011 2  0.010011001100110011 2 . Normalizând,
obţinem că
x  0.10011001100110011  21  1.0011001100110011  22 . Rezultă că exponentul este
N
2 2

E  2 . Exponentul deplasat ED  E  127  12510  01111102 . Deoarece x  0 rezultă S  0


. Se obţine reprezentarea: 0011 1110 1001 1001 1001 1001 1001 10012 . Rotunjind, rezultă
reprezentarea cu virgulă mobilă 0011 1110 1001 1001 1001 1001 1001 1010 2  3 E99999 A16 .
Deci, reprezentarea cu virgulă mobilă, simplă precizie a numărului real x  0.310 este
3E99999 A16 .

2. Vom determina reprezentarea cu virgulă mobilă, în simplă precizie, a numărului real


negativ x  0.310 .
Considerăm numărul x  x  0.3 . Atunci  x   010  02 şi
 x   0.3 10  0.010011001100110011 2 .
Rezultă că:
x   x    x   0  0.010011001100110011 2  0.010011001100110011 2 . Normalizând,
obţinem că:
x  0.10011001100110011  21  1.0011001100110011  22 . Rezultă că exponentul este
N
2 2

E  2 . Exponentul deplasat ED  E  127  12510  01111102 . Deoarece x  0 rezultă S  1 .


Se obţine reprezentarea: 1011 1110 1001 1001 1001 1001 1001 10012 . Rotunjind, rezultă
reprezentarea cu virgulă mobilă 1011 1110 1001 1001 1001 1001 1001 10102  BE 99999 A16 .
Deci, reprezentarea cu virgulă mobilă, simplă precizie a numărului real x  0.310 este
BE 99999 A16 .

3. Vom determina reprezentarea cu virgulă mobilă, în simplă precizie, a numărului real


pozitiv x  12.310 .
Considerăm numărul x  x  0.3 . Atunci  x   1210  11002 şi
 x   0.3 10  0.010011001100110011 2 .
30 September 2016 Lect. univ. Paul Vasiliu 13
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Rezultă că:
x   x    x   1100  0.010011001100110011 2  1100.010011001100110011 2

Normalizând, obţinem că:


x  0.110001001100110011  24  1.10001001100110011  23 .
N
2 2 Rezultă că
exponentul este E  3 . Exponentul deplasat ED  E  127  13010  100000102 . Deoarece
x  0 rezultă S  0 . Se obţine reprezentarea: 0100 0001 0100 0100 1100 1100 1100 11002 .
Rotunjind, rezultă reprezentarea cu virgulă mobilă:
0100 0001 0100 0100 1100 1100 1100 11012  4144CCCD16 .
Deci, reprezentarea cu virgulă mobilă, simplă precizie a numărului real x  12.310 este
4144CCCD16 .

4. Vom determina reprezentarea cu virgulă mobilă, în simplă precizie, a numărului real


negativ x  12.310 .
Considerăm numărul x  x  12.3 . Atunci  x   1210  11002 şi
 x   0.3 10  0.010011001100110011 2 . Rezultă că:
x   x    x   1100  0.010011001100110011 2  1100.010011001100110011 2
.
Normalizând, obţinem că:
x  0.110001001100110011  24  1.10001001100110011  23 . Rezultă că exponentul
N
2 2

este E  3 . Exponentul deplasat ED  E  127  13010  100000102 . Deoarece x  0 rezultă


S  1 . Se obţine reprezentarea: 1100 0001 0100 0100 1100 1100 1100 11002 . Rotunjind,
rezultă reprezentarea cu virgulă mobilă
1100 0001 0100 0100 1100 1100 1100 11012  C144CCCD16 . Deci, reprezentarea cu virgulă
mobilă, simplă precizie a numărului real x  12.310 este C144CCCD16 .

5. Vom determina numărul real a cărui reprezentare cu virgulă mobilă, în simplă precizie
este 7040000016 . Fie x  R numărul real care are reprezentarea din enunţ. Se reprezintă
fiecare cifră hexazecimală în binar. Se obţine reprezentarea:
0111 0000 0100 0000 0000 0000 0000 00002 . Bitul de semn are valoarea 0 şi deci x  0 .
Exponentul deplasat ED  111000002  22410 . Rezultă că exponentul este
E  ED 127  224 127  97 . Mantisa cu bit ascuns este 0.12 Rezultă că:
x   1 1  m   2 ED 127   1 1  m   2 E   1 1  m   297  1.1 297  
S S S
2

  3.0  2 97
  475368975085586025561263702016.10 .
10

6. Vom determina numărul real a cărui reprezentare cu virgulă mobilă în simplă precizie este
AFF00000 . Fie x  R numărul real care are reprezentarea din enunţ. Se reprezintă
16
fiecare cifră hexazecimală în binar. Se obţine reprezentarea:
1010 1111 1111 0000 0000 0000 0000 00002 . Bitul de semn are valoarea 1 şi deci x  0 .
Exponentul deplasat ED  010111112  9510 . Rezultă că exponentul este
E  ED 127  95 127  22 . Mantisa cu bit ascuns este 0.1112
30 September 2016 Lect. univ. Paul Vasiliu 14
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Rezultă că:
x   1 1  m   2 ED 127   1 1  m   2 E   1 1  m   2 22   1.111  2 22  .
S S S
2
Deci,


x = - 15.× 2-25 10 = -0,000000447034835815429687510 .
Reprezentarea numerelor întregi
Numerele întregi se pot reprezenta cu semn sau fără semn pe 32 sau 64 biţi.
Numerele naturale se pot reprezenta cu sau fără semn. Numerele întregi negative pot fi
reprezentate numai cu semn. Reprezentarea în memoria unui calculator a numerelor întregi
depinde de numărul de biţi pe care se face reprezentarea.
Pentru a reprezenta un număr întreg pozitiv pe k biţi fără semn se face conversia
numărului respectiv în baza 2, iar configuraţia binară obţinută se completează la stânga cu
zerouri până se obţin k cifre binare. Fie x  N şi reprezentarea sa în baza b  2
x   k 1 k 2  0 2 . Reprezentarea fără semn pe k biţi a numărului natural x este:
 k 1  k 2 0
0 1 k 1
Cel mai mic număr natural reprezentabil pe k biţi fără semn este xmin  0 , iar cel mai
mare este xmax  2k 1  2k 2   21  1  2k 1.
Prezentăm în continuare câteva exemple.

Exemple
1. Vom reprezenta numărul natural x  24110 fără semn pe 32 biţi. În baza b  2 numărul
x  24110 are reprezentarea x  24110  1111100012 . Configuraţia obţinută se completează cu
zerouri până la 32 biţi şi se obţine reprezentarea internă a numărului x  24110 . Această
reprezentare este 0000 0000 0000 0000 0000 0001 1111 00012 care, interpretată în baza 16
este 0000 01F116 .
Pentru a reprezenta un număr întreg pe k biţi cu semn se face conversia modulului
numărului respectiv în baza 2, iar configuraţia binară obţinută se completează la stânga cu
zerouri până se obţin k  1 cifre binare. Primul bit, bitul 0 este rezervat semnului
0 pentru x  0
S  . Acest bit se completează cu valoarea 0, chiar dacă numărul întreg x
1 pentru x  0
este negativ. Fie x  Z şi reprezentarea lui x în baza b  2 pe k  1 biţi x   k 2  0 2 .
Se obţine configuraţia  0 k 2  0 2 .
Dacă x  0 , această configuraţie se trece în cod complementar, negând fiecare bit şi
apoi adunând valoarea 1 la configuraţia obţinută după negare. Dacă notăm cu
0 pentru  i  1
i   , şi cu t1 , t2 , , tk 2 transporturile de la rangul inferior la cel imediat
1 pentru  i  0
superior, se obţine reprezentarea cu semn a lui x  0 :
1  k 1  tk  2  k  2  tk 1 0  1
0 1 2 k 1

30 September 2016 Lect. univ. Paul Vasiliu 15


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
2. Vom reprezenta numărul întreg x  24110 cu semn pe 32 biţi. În baza b  2 numărul
x  24110 are reprezentarea x  24110  111100012 . Configuraţia obţinută se completează cu
zerouri până la 31 biţi. Se completează bitul de semn cu valoarea 0 şi se obţine configuraţia:
0000 0000 0000 0000 0000 0000 1111 00012 . Deoarece x  24110  0 configuraţia obţinută
se trece în cod complementar. Se transformă fiecare bit 1 în 0 şi fiecare bit 0 în 1. Se obţine
configuraţia: 1111 1111 1111 1111 1111 1111 0000 11102 . Se adună la configuraţia obţinută
valoarea 1 şi se obţine reprezentarea internă cu semn pe 32 biţi a numărului x  24110 :
1111 1111 1111 1111 1111 1111 0000 1111 = FFFFFF0F .
2 16
Dacă x  0 , atunci x  x , configuraţia  0 k 2  0 2 fiind chiar reprezentarea internă
a numărului întreg x  0 cu semn pe k biţi.

3. Vom reprezenta numărul natural x  24110 cu semn pe 32 biţi. În baza b  2 numărul


x  24110 are reprezentarea x  24110 111100012 . Configuraţia obţinută se completează cu
zerouri până la 31 biţi. Deoarece x  24110 este pozitiv se completează bitul de semn cu
valoarea 0 şi se obţine reprezentarea internă a numărului x  24110 . Această reprezentare
este 0000 0000 0000 0000 0000 0000 1111 00012 care, interpretată în baza 16, este
0000 00 F116 .
Vom da mai jos exemple în care se cunosc reprezentările interne ale unor numere
întregi pe 32 biţi şi se determină numerele întregi a căror reprezentare este dată.

4. Presupunem că reprezentarea internă a numărului întreg x fără semn este 0000011116 .


Atunci valoarea reprezentată este x  162  161  1  27310 .

5. Presupunem că reprezentarea internă pe 32 biţi a numărului întreg x cu semn este


0000011116 . Pentru determinarea lui x se determină reprezentarea în baza 2. Aceasă
reprezentare este: 0000 0000 0000 0000 0000 0001 0001 00012 .
Deoarece bitul de semn este S  0 , rezultă că x  0 . Atunci valoarea reprezentată
este x  162  161  1  27310 .

6. Presupunem că reprezentarea internă pe 32 biţi a numărului întreg x cu semn este


FF 000111 . Pentru determinarea lui x se determină reprezentarea în baza 2. Aceasă
16
reprezentare este: 1111 1111 0000 0000 0000 0001 0001 00012 . Deoarece bitul de semn este
S  1 rezultă că x  0 . Se scade 1 din reprezentarea internă şi se obţine configuraţia
1111 1111 0000 0000 0000 0001 0001 0000 .
2
Se transformă fiecare bit 1 în 0 şi fiecare bit 0 în 1 şi se obţine configuraţia
0000 0000 1111 1111 1111 1110 1110 1111  00FFFEEF .
2 16
Rezultă că:

x  15  165  15  164  15  163  14  162  14  161  15
10
 16776943 . Deoarece x  0
10
rezultă că x   x  1677694310 .

30 September 2016 Lect. univ. Paul Vasiliu 16


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Reprezentarea caracterelor
Caracterele se reprezintă în cod ASCII (American Standard Code for Information
Interchange) codificat pe un octet. Tabela codurilor ASCII este prezentată mai jos:

Cod în baza Caracter (semnificaţie)


10 8 16
0 000 0x00 NUL (Nul character)
1 001 0x01 SOH (Start of Header)
2 002 0x02 STX (Start of Text)
3 003 0x03 ETX (End of Text)
4 004 0x04 EOT (End of Transmission)
5 005 0x05 ENQ (Enquiry)
6 006 0x06 ACK (Acknowledgment)
7 007 0x07 BEL (Bell)
8 010 0x08 BS (Backspace)
9 011 0x09 HT (Horizontal Tab)
10 012 0x0A LF (Line Feed)
11 013 0x0B VT (Vertical Tab)
12 014 0x0C FF (Form Feed)
13 015 0x0D CR (Carriage Return)
14 016 0x0E SO (Shift Out)
15 017 0x0F SI (Shift In)
16 020 0x10 DLE (Data Link Escape)
17 021 0x11 DC1 (XON) (Device Control 1)
18 022 0x12 DC2 (Device Control 2)
19 023 0x13 DC3 (XOFF) (Device Control 3)
20 024 0x14 DC4 (Device Control 4)
21 025 0x15 NAK (Negative Acknowledgement)
22 026 0x16 SYN (Synchronous Idle)
23 027 0x17 ETB (End of Trans. Block)
24 030 0x18 CAN (Cancel)
25 031 0x19 EM (End of Medium)
26 032 0x1A SUB (Substitute)
27 033 0x1B ESC (Escape)
28 034 0x1C FS (File Separator)
29 035 0x1D GS (Group Separator)
30 036 0x1E RS (Request to Send) (Record Separator)
31 037 0x1F US (Unit Separator)
32 040 0x20 SP (spaţiu)
33 041 0x21 !
34 042 0x22 "
35 043 0x23 # (diez)
30 September 2016 Lect. univ. Paul Vasiliu 17
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Cod în baza Caracter (semnificaţie)
10 8 16
36 044 0x24 $ (dollar)
37 045 0x25 % (procent)
38 046 0x26 & (ampersand)
39 047 0x27 ' (apostof)
40 050 0x28 (
41 051 0x29 )
42 052 0x2A * (asterisk)
43 053 0x2B +
44 054 0x2C ,
45 055 0x2D -
46 056 0x2E .
47 057 0x2F / (slash)
48 060 0x30 0
49 061 0x31 1
50 062 0x32 2
51 063 0x33 3
52 064 0x34 4
53 065 0x35 5
54 066 0x36 6
55 067 0x37 7
56 070 0x38 8
57 071 0x39 9
58 072 0x3A :
59 073 0x3B ;
60 074 0x3C <
61 075 0x3D =
62 076 0x3E >
63 077 0x3F ?
64 0100 0x40 @ (simbol AT)
65 0101 0x41 A
66 0102 0x42 B
67 0103 0x43 C
68 0104 0x44 D
69 0105 0x45 E
70 0106 0x46 F
71 0107 0x47 G
72 0110 0x48 H
73 0111 0x49 I
74 0112 0x4A J

30 September 2016 Lect. univ. Paul Vasiliu 18


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Cod în baza Caracter (semnificaţie)
10 8 16
75 0113 0x4B K
76 0114 0x4C L
77 0115 0x4D M
78 0116 0x4E N
79 0117 0x4F O
80 0120 0x50 P
81 0121 0x51 Q
82 0122 0x52 R
83 0123 0x53 S
84 0124 0x54 T
85 0125 0x55 U
86 0126 0x56 V
87 0127 0x57 W
88 0130 0x58 X
89 0131 0x59 Y
90 0132 0x5A Z
91 0133 0x5B [
92 0134 0x5C \ (backslash)
93 0135 0x5D ]
94 0136 0x5E ^ (circumflex)
95 0137 0x5F _ (underscore)
96 0140 0x60 ` (apostrof invers)
97 0141 0x61 a
98 0142 0x62 b
99 0143 0x63 c
100 0144 0x64 d
101 0145 0x65 e
102 0146 0x66 f
103 0147 0x67 g
104 0150 0x68 h
105 0151 0x69 i
106 0152 0x6A j
107 0153 0x6B k
108 0154 0x6C l
109 0155 0x6D m
110 0156 0x6E n
111 0157 0x6F o
112 0160 0x70 p
113 0161 0x71 q

30 September 2016 Lect. univ. Paul Vasiliu 19


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.roBaze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
Cod în baza Caracter (semnificaţie)
10 8 16
114 0162 0x72 r
115 0163 0x73 s
116 0164 0x74 t
117 0165 0x75 u
118 0166 0x76 v
119 0167 0x77 w
120 0170 0x78 x
121 0171 0x79 y
122 0172 0x7A z
123 0173 0x7B {
124 0174 0x7C | (bară verticală)
125 0175 0x7D }
126 0176 0x7E ~ (tildă)
127 0177 0x7F DEL (delete)
Tabela codurilor ASCII
Caracterele din setul ASCII cu codurile între 0 şi 31, şi codul 127 (în baza 10) nu au
o reprezentare grafică pe calculator. Ele sun denumire caractere de control, fiind folosite
iniţial pentru a controla comunicaţia între calculator şi periferice, şi modul de afişare al
informaţiei.

Exerciţii
1. Efectuaţi în baza 2 suma şi produsul numerelor a=1111 şi b=1010.
2. Efectuaţi In baza 8 suma şi produsul numerelor a=177 şi b= 27.
3. Efectuaţi în baza 16 suma şi produsul numerelor a=ABC şi b=123.
4. Reprezentaţi numărul 123 în baza 2 pe 8 biţi.
5. Reprezentaţi numărul 0.123 în baza 2 pe 8 biţi.
6. Reprezentaţi numărul 123.123 în baza 2 pe 16 biţi (câte 8 pentru partea întreagă şi
8 pentru partea fracţionară).
7. Reprezentaţi în cod complementar numărul 123 pe 8 biţi.
8. Reprezentaţi în cod complementar numărul -123 pe 8 biţi.
9. Scrieţi reprezentarea în format intern pe 32 de biţî a numărului întreg 122 fără semn.
10. Scrieţi reprezentarea în format intern pe 32 de biţi a numărului întreg 122 cu semn.
11. Scrieţi reprezentarea în format intern a numărului întreg -122.
12. Scrieţi reprezentarea în format intern, cu virgulă mobilă pe 32 de biţi a numărului
12.32.

30 September 2016 Lect. univ. Paul Vasiliu 20


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
13. Scrieţi reprezentarea în format intern, cu virgulă mobilă pe 32 de biţi a numărului
-12.32.
14. Determinaţi numărul real a cărui reprezentare în format intern, cu virgulă mobilă pe
32 de biţi este 0AB00000 scris în baza 16.
15. Determinaţi numărul real a cărui reprezentare în format intern, cu virgulă mobilă pe
32 de biţi este AAB00000 scris în baza 16.

Rezolvări:
1. Folosind tablele adunării şi înmulţirii în baza 2 se obţin rezultatele:
a + b = 11001
a x b = 10010110
2. Folosind tablele adunării şi înmulţirii în baza 8 se obţin rezultatele:
a + b = 226
a x b = 5551
3. Folosind tablele adunării şi înmulţirii în baza 16 se obţin rezultatele:
a + b = BDF
a x b = C33B4
4. 123 = 01111011
5. 0.123 = 0.0001111
6. 123.123 = 01111011.0001111
7. 123 = 01111011
8. -123 = 256-123 = 133 = 10000101
9. 0000 0000 0000 0000 0000 0000 0111 1010.
10. 0000 0000 0000 0000 0000 0000 0111 1010.
11. 1111 1111 1111 1111 1111 1111 1000 0110.
12. Numărul 12.32 este pozitiv. Bitul de semn = 0. Caracteristica = 41 (hexazecimal) 65
(zecimal). Exponentul = 1. Mantisa = 451EB8 (hexazecimal) 4529848 (zecimal). Formatul
intern de reprezentare 41451EB8.
13. Numarul -12.320000 este negativ. Bitul de semn = 1. Caracteristica = 3E (hexazecimal)
62 (zecimal). Exponentul = FFFFFFFE (hexazecimal). Mantisa = BAE148 (hexazecimal)
12247368 (zecimal). Formatul intern de reprezentare BEBAE148.
14. 0AB00000 = 0000 1010 1011 0000 0000 0000 0000 0000. Bitul de semn este 0. Numărul
este pozitiv. Exponentul deplasat este ED = 000 1010 1 = 21. Rezultă că exponentul este E
= ED-127 = 21-127 = -105. Mantisa cu bit ascuns este m = 0.011. Numărul căutat este
30 September 2016 Lect. univ. Paul Vasiliu 21
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Informaticǎ aplicatǎ I
http://adl.anmb.ro Baze şi sisteme de numeraţie. Reprezentarea internă a numerelor şi
caracterelor. Standardul IEEE 754
S S S

x   -1 1  m   2 ED-127   -1 1  m   2 E   -1 1  m   2-105  - 1.011  2-105 .
2
 Deci

   
x  - 1.011  2-105  - 1011  2-108   11  2-108
2 2  10
. 
15. Similar cu 14.

30 September 2016 Lect. univ. Paul Vasiliu 22


© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.

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