Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

UI2. Baze de numeraţie.

Reprezentarea informaţiei în calculator

Obiectivele unităţii de învăţare – pag 35

Baze de numeraţie – pag 35


Test de autoevaluare – pag 43

Reprezentarea informaţiei în calculator – pag 44


Test de autoevaluare – pag 51

Răspunsurile testelor de autoevaluare – pag 52


Lucrare de verificare – pag 52
Rezumat – pag 53
Bibliografie – pag 54

Obiectivele unităţii de învăţare

 înţelegerea şi operarea facilă cu diverse baze de numeraţie şi


cunoaşterea principiilor de conversie a numerelor întregi şi reale
dintr-o bază de numeraţie în alta;
 cunoaşterea modalităţilor de reprezentare a informaţiei în
calculator, după tipul acesteia.

Durata: 5 ore

Baze de numeraţie

Orice număr natural q  2 poate fi considerat o bază de numeraţie.


Cifrele în baza de numeraţie q sunt 0, 1, 2, …, q-1. Baza 10 este evident
cea mai cunoscută bază şi are cifrele 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Datorită

35
utilizării bistabililor în construcţia memoriei calculatoarelor, în informatică
se utilizează reprezentarea numerelor în baza 2 sau puteri ale acesteia (baza
8 şi baza 16). Rezultatele obţinute în analiza matematică ne arată că orice
număr real se poate scrie într-o bază oarecare q  2 sub forma
an an1 an2 ... a1 a0 . a1 a2 a3 ... am ... ,

unde a i sunt cifre ale bazei q, adică ai   0, 1, 2, ..., q  1 .


În informatică, bazele uzuale sunt 2, 8 şi 16. Cifrele în baza 2 sunt {0,
1}, în baza 8, {0, 1, 2, 3, 4, 5, 6, 7}, iar în baza 16 sunt {0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F}.
Exemple :
 în baza 10  396.83, -25691, 48
 în baza 2  1101.11, 111001.11, 110101
 în baza 8  675.02, 0.36, -475
 în baza 16  69A, DEA.AB5, CAD.39A

✎ Care sunt cifrele bazei de numeraţie 6?


Calea cea mai simplă de conversie a unui număr dintr-o bază în alta
este utilizarea bazei 10 ca bază intermediară. Din acest motiv, în continuare
prezentăm conversia numerelor din baza 10 într-o bază oarecare şi invers
[10].

Conversia numerelor dintr-o bază în alta

Conversia numerelor întregi

Conversia numerelor întregi din baza oarecare q în baza 10


Conversia unui număr întreg din baza oarecare q în baza 10 se face
utilizând dezvoltarea polinomială. Mai precis, dacă numărul întreg N se
reprezintă în baza q sub forma
N q  an an1 an2 ... a1 a0
,
atunci reprezentarea sa în baza 10 va rezulta din dezvoltarea

36
N10  an q n  an1 q n1  an2 q n2  ... a1q  a0 .
Exemple:
100011 2  1  2 5  0  2 4  0  2 3  0  2 2  1  21  1  2 0  35 10

BD416  B 162  D 161  4 160 


 11162  13 161  4 160  302810

Conversia numerelor întregi din baza 10 în baza oarecare q


Pentru a înţelege algoritmul de conversie din baza 10 într-o bază
oarecare q să considerăm dezvoltarea polinomială a numărului
N q  a n a n 1 a n  2 ... a1 a 0 :

N10  an q n  an1 q n1  ... a1q  a0


. (1)
Sarcina algoritmului de conversie este să identifice cifrele
a n , a n 1 , a n  2 , ..., a0 şi implicit numărul convertit în baza q,
N q  a n a n 1 ... a1a0 .

Împărţind relaţia (1) prin q obţinem:


N 10 a
 a n q n 1  a n 1 q n  2  ...  a1  0 .
q q
Ţinând cont că expresia
N100  an q n1  an1 q n2  ... a1

este întreagă, iar 0  a 0  q deoarece a 0 este cifră în baza q, rezultă că a 0


(0)
se obţine ca rest al împărţirii numărului N 10 la q, iar N 10 este câtul acestei
(0)
împărţiri. Procedăm analog cu expresia N 10 şi obţinem
N100  a a
 a n q n  2  a n 1 q n 3  ...  a 2  1  N10(1)  1 .
q q q

Printr-un raţionament similar deducem că cifra a1 se obţine ca rest al


(0)
împărţirii câtului anterior, N 10 , la baza q.

37
În general, obţinem în ordine cifrele a 0 , a1 , a 2 , …, a n pentru
fiecare pas i aplicat relaţiei
N 10i 1 a
 N 10( i )  i , i  0,1, 2, ..., n , unde N 101  N 10 .
q q
(i )
Algoritmul de conversie se termină când se obţine câtul N 10 egal cu
zero. Numărul în baza q se scrie, prin urmare, cu cifrele a n , a n 1 , ..., a1 , a 0 ,
aşadar în ordinea inversă a obţinerii lor.
Exemple: Convertim din baza 10 în baza 2, numerele 35 şi 3028
obţinute în exemplul precedent, aplicând algoritmul descris.

35 2 3028 16
34 17 2 3024 189 16
1 16 8 2 4 176 11 16
1 8 4 2 13 0 0
0 4 2 2 11
0 2 1 2
0 0 0
1

Figura 4. Ilustrarea algoritmului de conversie a numerelor întregi


din baza 10 în baza 2 şi respectiv 16

Cifrele numerelor convertite se obţin citind de la sfârşit spre început


resturile (cifrele încercuite). Se obţin rezultatele aşteptate: 35 10  100011 2
şi 3028 10  BD 416 .

Conversia numerelor reale


Conversia părţii întregi a unui număr real se face după algoritmii
prezentaţi anterior. În continuare prezentăm conversia părţii fracţionare a
unui număr real. Partea fracţionară Fq a unui număr real pozitiv se scrie:
Fq  0.a 1 a  2 a 3 ... a  m ...

38
Conversia părţii fracţionare a unui număr real pozitiv dintr-o bază
oarecare q în baza 10
Ca şi în cazul numerelor întregi, conversia dintr-o bază oarecare q în
baza 10 a unei fracţii Fq se face utilizând dezvoltarea sa polinomială, adică:
F10  a 1 q 1  a  2 q 2  ... a  m q  m  ...
Exemple:
0.10112  1 2 1  0  2 2  1 2 3  1 2 4  0.687510
0. A516  A  16 1  5  16 2  0.6445310

Conversia părţii fracţionare a unui număr real pozitiv din baza 10


într-o bază oarecare q
Pentru a afla cifrele numărului F10 în baza q se porneşte de la
dezvoltarea sa polinomială, adică:
F10  a 1 q 1  a  2 q 2  ...  a  m q  m  ... (2)
Înmulţind relaţia (2) cu q obţinem:
q  F10  a 1  a  2 q 1  ... a  m q  m 1  ...

şi deci a 1  q  F10  unde prin x  înţelegem partea întreagă a numărului


x.
Cifra a-2 se obţine printr-un procedeu analog pornind însă de la fracţia:
F10(1)  a  2 q 1  ...  a  m q  m 1  ...

Deci 
a  2  q  F10(1)  şi analog a 3  q  F10  ,
( 2)

unde,
F10( 2 )  a 3 q 1  a  4 q 2 ...  a  m q  m  2  ...
şi aşa mai departe.
(i )
Dacă există un număr i întreg astfel încât F10 este număr întreg,
atunci algoritmul se opreşte. În caz contrar fracţia este periodică.

Exemple:
Fie numărul F10  0.64453 . Se doreşte conversia acestuia în baza 16.

39
Aplicăm procedeul explicat mai sus şi avem:
0.64453 16 10.31248  a1  A
0.31248 16  5  a2  5

Se obţine rezultatul 0. A516 .

Considerăm fracţia 0.7 şi dorim conversia ei în baza 4. Obţinem


succesiv:
0.7  4  2.8  a1  2 0.8  4  3.2  a4  3
0.8  4  3.2  a2  3 0.2  4  0.8  a 5  0
0.2  4  0.8  a 3  0 ...........................................

Se observă repetarea rezultatelor şi drept urmare obţinem fracţia


periodică mixtă 0.2(30)4.

✎ Convertiţi în bazele 2, 8, 16 numerele în baza 10: 62.845, 261.38


şi 1254.2968.

Procedee de conversie rapidă între bazele 8, 16 şi baza 2

Conversia binar – octal


Fiecare din cifrele bazei 8 se reprezintă în baza 2 (pe baza algoritmilor
prezentaţi) prin configuraţiile binare următoare, numite triade (tabelul 1):

Tabelul 1. Triadele corespunzătoare reprezentării în baza 2


a cifrelor din baza 8

octal binar
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0 triade
5 1 0 1
6 1 1 0
7 1 1 1

40
Conversia rapidă unui număr din octal în binar se face scriind în locul
fiecărei cifre octale triada corespunzătoare.

Exemplu:
Numărul 47.368 se scrie în baza 2 făcând înlocuirile:
4 cu 1 0 0
7 cu 1 1 1
3 cu 0 1 1
6 cu 1 1 0

Se obţine 47 .36 8  100111 . 011110 2 .

Conversia rapidă a unui număr binar în octal se face astfel:


 pentru partea întreagă se marchează triadele începând de la virgulă
spre stânga;
 pentru partea fracţionară se marchează triadele începând de la
virgulă spre dreapta;
 fiecare triadă este înlocuită cu valoarea corespunzătoare din baza 8.

Exemplu:
1 111 101.011 101 12 = 175.3748

Conversia binar-hexazecimal
Prezentăm mai jos (tabelul 2) valorile cifrelor hexazecimale în binar,
numite tetrade.
În conversia binar-hexazecimal rolul triadelor este luat de tetrade, iar
paşii algoritmului sunt identici cu cei ai conversiei binar-octal.

41
Tabelul 2. Tetradele corespunzătoare reprezentării în baza 2
a cifrelor din baza 16

hexazecimal binar hexazecimal binar


0 0000 9 1001
1 0001 A 1010
2 0010 B 1011
3 0011 C 1100
4 0100 D 1101
5 0101 E 1110
6 0110 F 1111
7 0111
8 1000

Exemplu :
1111000.1110 11112 = 78.ED16

Observaţie. Procedeele de conversie prezentate, binar-octal şi binar-


hexazecimal se fac mecanic, fără calcule, şi din acest motiv sunt foarte
rapide. O altă raţiune pentru care sunt preferate bazele 8 şi 16 bazei 2
rezultă din aspectul evident că numerele binare, datorită lungimii lor sunt
mai greu de manipulat.

Reguli de calcul în baza 2 şi baza 8


În baza 2 adunarea şi înmulţirea se fac conform tabelului 3. La
adunare se observă că apare cifra de transport (bitul 1 obţinut din 10 =
1+1).

Tabelul 3. Regulile de calcul pentru adunare şi înmulţire în baza 2

+ 0 1 x 0 1
0 0 1 0 0 0
1 1 10 1 0 1

La adunare se observă că apare cifra de transport (bitul 1 din 10 =


1+1).

42
În baza 8 tabelele pentru adunare şi înmulţire sunt după cum urmează
(tabelul 4):
Tabelul 4. Regulile de calcul pentru adunare şi înmulţire î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

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

� Test de autoevaluare
2.1. Care este reprezentarea în baza 2 şi 16 a numerelor: 3265, 28,
293 şi 526 scrise în baza 10?
2.2. Care este valoarea în baza 10 a numerelor binare: 00110101,
01110101, 00010011?
2.3. Convertiţi în baza 10 numerele: 0. 111012, 11.0101112, 10.01112,
A3.26716, ABA.BA16.
2.4. Convertiţi în bazele 2, 8, 16 numărul 30.310.
2.5. Convertiţi în baza 8 numărul 110111001.10102.
2.6.Convertiţi în baza 2 numerele A4216, 148.F16 şi 331.508.

43
Reprezentarea informaţiei în calculator

Reprezentarea numerelor întregi


Reprezentarea numerelor întregi se poate realiza în trei moduri [2]:
 reprezentare în modul şi semn (cod direct);
 reprezentare în complement faţă de 1 (cod invers);
 reprezentare în cod complement faţă de 2 (cod complementar).

În reprezentarea în modul şi semn (cod direct), bitul din extremitatea


stângă este folosit pentru codificarea semnului. Convenţia este următoarea:
 dacă numărul este pozitiv, bitul de semn trebuie să aibă valoarea 0;
 dacă numărul este negativ, bitul de semn trebuie să aibă valoarea 1.

Exemplu. Cifrele 6 şi –6 sunt reprezentate în binar pe 8 biţi sub forma:


6  0 0 0 0 0 11 0
6  1 0 0 0 0 11 0
Modul de reprezentare în modul şi semn are următoarele dezavantaje:
 există două reprezentări pentru zero. De exemplu, într-o
reprezentare pe 8 biţi avem:
0  0 0 0 0 0 00 0
0  10 0 0 0 00 0
Acest lucru creează probleme în realizarea circuitelor electronice
pentru adunare.
 biţii de semn trebuie trataţi separat cand se efectuează operaţii;
 trebuie definită operaţia de scădere a numerelor astfel reprezentate.

Complementul faţă de 1 (cod invers) al unui număr reprezentat în


binar se obţine prin înlocuirea fiecărei cifre binare cu complementul ei faţă
de 1. Complementul faţă de 1 al cifrei 0 este 1, iar al cifrei 1 este 0.

44
Exemplu. Valorile 6 şi –6 sunt reprezentate în binar, pe 8 biţi sub
forma:
6  0000 0 11 0
6  1111 1 0 0 1
Operaţia de scădere se reduce la o operaţie de adunare prin
reprezentarea scăzătorului în cod invers. Dacă rezultatul este negativ atunci
el va fi reprezentat tot în cod invers. Dacă apare transport în stânga
rangului de semn aceasta se va aduna la rangul cel mai puţin semnificativ
(cel mai din dreapta) al rezultatului.

Exemple:
Într-o reprezentare pe 8 biţi operaţia 6-5 se efectuează astfel:
610  0 0 0 0 0 1 1 0 2 în cod direct

5 10  0 0 0 0 0 1 0 12 în cod direct

 510  1 1 1 1 1 0 1 0 2 în cod invers

(+6) 0 0 0 0 0 1 1 0
+(-5) +1 1 1 1 1 0 1 0
1 10 0 0 0 0 0 0 0
+
0 0 0 0 0 0 0 1

Se observă cum transportul din stânga rangului de semn se adună la


ultimul bit.
În aceeaşi reprezentare pe 8 biţi operaţia 6-7 se efectuează astfel:

(+6) 0 0 0 00 1 1 0
+(-7) +1 1 1 1 1 0 0 0
- 1 1 1 1 11 1 1 0

Se observă că 1 1 1 1 1 1 1 0 este reprezentarea cifrei 1 în cod


invers pe o configuraţie de 8 biţi.

45
Observaţie. Şi în acest tip de reprezentare se menţine dezavantajul
reprezentării valorii zero sub două forme, întâlnit la codul direct.
Exemplu:
(+4) 0 0 0 0 0 1 0 0
+(-4) 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 1 1

Se observă cele două reprezentări pentru zero


0 0 0 0 0 0 0 0
şi
1 1 1 1 1 1 1 1

Pentru a înţelege reprezentarea în cod complementar să scriem, de


exemplu, operaţia 5-3 sub forma
5  (10  3)  10  5  7  10  12  10  2 .

Observăm că rezultatul se poate obţine în felul următor:


 se adună la descăzut complementul faţă de 10 al scăzătorului, adică
se face operaţia 5  7  12
 rezultatul final (2) se obţine ignorând transportul care apare (adică
1).
Acest exemplu sugerează ideea ca un număr negativ în binar să fie
reprezentat în cod complement faţă de 2 (cod complementar).
Complementul faţă de 2 al unui număr se obţine astfel:
 se obţine complementul faţă de 1 al numărului;
 se adună valoarea 1 la rangul cel mai semnificativ al numărului.
Dacă apare transport la stânga rangului de semn acesta se ignoră, iar
dacă rezultatul este negativ acesta este reprezentat tot în cod complementar
faţă de 2.
Observaţie. Folosind acest cod, zero are o unică reprezentare.
Exemplu:
7 are valoarea 0 0 0 0 0 1 1 1 în binar
7 are codul invers 1111 1000
-7 are codul complementar 1 1 1 1 1 0 0 1

46
(+7) 0 0 0 0 0 1 11
+(-7) + 1 1 1 1 0 01
1
0 10 0 0 0 0 0 0 0
se neglijează

Se constată unicitatea reprezentării pentru zero.


Calculatoarele moderne utilizează pentru reprezentarea numerelor
întregi negative codul complementar.

Reprezentarea numerelor reale


Reprezentarea numerelor reale se poate face sub două moduri:
 în virgulă fixă;
 în virgulă mobilă.

Reprezentarea în virgulă fixă


În acest tip de reprezentare, virgula care desparte partea întreagă de
partea subunitară are poziţie fixă. De exemplu, dacă într-o reprezentare pe
8 biţi, virgula este plasată după 4 biţi, numărul N reprezentat în baza 2 are
valorile extreme după cum urmează:
0000 .0000  N 2  1111 .1111
sau, corespunzător în baza 10,
0.0  N 10  15 .9375 .
În cazul în care primul bit este folosit pentru codificarea semnului,
plaja de reprezentare pentru N10 va fi:
 8.9375  N10  7.9375 .
Se observă că puterea de reprezentare a numerelor reale în cazul
folosirii virgulelor fixe este extrem de redusă. Din acest motiv folosirea
virgulei fixe în calculatoarele moderne se face numai după ultimul rang,
reprezentându-se practic în această manieră numai numerele întregi.

47
Reprezentarea în virgulă mobilă
În reprezentarea în virgulă mobilă se porneşte de la un rezultat
matematic cunoscut şi anume: orice număr real  poate fi reprezentat în
mod unic sub forma (numită virgulă mobilă normalizată):
  a  qb , unde 1/ q  | a |  1 , q  2 număr natural, b număr
întreg.
q este baza de reprezentare,
a se numeşte mantisă, b se numeşte exponent.
De exemplu, numărul   1423.208 în baza 10 are reprezentarea în
virgulă mobilă normalizată:
  0.1423208 104 .
Aici b are valoarea 4, q valoarea 10, iar mantisa a  0.1423208 .
Condiţia 1 / q  | a |  1 este esenţială pentru asigurarea unicităţii
reprezentării. Pentru q = 10 condiţia se scrie 0.1  | a |  1 , ceea ce este
echivalent cu faptul că prima cifră după virgulă să fie diferită de 0. În cazul
în care se renunţă la această restricţie asupra mantisei, există o infinitate de
reprezentări echivalente. De exemplu, numărul  de mai sus se poate scrie
echivalent:
0.1423208  10 4 , 14 .23208  10 2 , 1423208  10 4 , 0.01423208  10 5 etc.
Denumirea de virgulă mobilă vine tocmai de la deplasarea virgulei,
funcţie de valoarea exponentului.
Pentru a aduna două numere scrise sub formă normalizată trebuie ca
ele să aibă acelaşi exponent. Dacă exponenţii sunt diferiţi, numărul cu
exponent mai mic este scris în virgulă mobilă nenormalizată astfel încât
noul exponent obţinut să fie egal cu cel mai mare dintre cei doi exponenţi.
Înmulţirea se face înmulţind mantisele şi adunând exponenţii.
Din cauza restricţiilor privind lungimea mantisei, aritmetica virgulei
mobile diferă de aritmetica obişnuită.
Pentru a ilustra acest lucru, să presupunem că mantisei i se rezervă
patru cifre zecimale şi să considerăm exemplele:

1) 0.6532  10 4  0.21  10 3  0.6532  10 4  0.0210  10 4  0.6742  10 4 ;

2) 0.6532 10 4  0.1234 10  0.6532 10 4  0.0001234 10 4 

48
 0.6532 104  0.0001104  0.6533104 ;

3) 0.6532 10 4  0.5632 10 4  1.2164 10 4  0.1216 10 4 ;

4) 0.6532 10 4  0.21 10 1  0.137172 10 3  0.1371 10 3 .

Se constată următoarele:
 în exemplul 1) nu se pierde nici o cifră;

 în exemplul 2) se pierd ultimele trei cifre ale numărului


0.0001234 ;

 în exemplul 3) se pierde ultima cifră a numărului 1.2164 din


cauza operaţiei de normalizare.

 în exemplul 4) se pierd ultimele două cifre ale numărului


0.137172.

În programele în care calculele au un grad ridicat de complexitate,


erorile se pot propaga, iar efectul este obţinerea unui rezultat afectat de
erori. Acest efect nedorit se poate contracara prin utilizarea unor metode
numerice speciale, care inhibă propagarea erorilor.

✎ Ce se înţelege prin virgulă mobilă normalizată?


Reprezentarea în virgulă mobilă se poate face sub două forme:
reprezentarea în virgulă mobilă simplă precizie şi reprezentarea în virgulă
mobilă dublă precizie.
Reprezentarea în virgulă mobilă simplă precizie se face pe 32 de biţi
şi are structura:

32 31 … 24 23 … 1
S Caracteristică (c) Fracţie (f)

S reprezintă semnul numărului reprezentat, ocupă un bit (bitul 32), iar


valorile sale au semnificaţia următoare:

49
 S  0 când numărul reprezentat are semnul negativ;
 S  1 când numărul reprezentat are semnul pozitiv.
Caracteristica c ocupă 8 biţi (biţii 24-31) şi conţine valoarea
exponentului la care se adaugă valoarea 127, adică:
c  e  127 .
Folosirea acestei formule permite economisirea unui bit care ar fi
necesar pentru memorarea semnului exponentului. Zona de 8 biţi destinată
caracteristicii este considerată totdeauna pozitivă şi deci:
0  c  28  1  255 .
Din acest motiv, valorile minime şi maxime ale exponentului sunt
–127 respectiv 128.

Cu alte cuvinte:
 dacă c  127 atunci e  0 ;
 dacă c  127 atunci e  0 .
Fracţia (f) este reprezentată în zona biţilor 1-23. Alinierea se face la
stânga, iar dacă este cazul spaţiile libere se completează cu cifra zero.
Reprezentarea în virgulă mobilă dublă precizie se face pe 64 de biţi şi
are structura:

64 63 … 53 52 … 1
S Caracteristică (c) Fracţie (f)

Câmpurile din structură au aceeaşi semnificaţie ca la reprezentarea în


virgulă mobilă simplă precizie. Diferă doar lungimea caracteristicii (11
biţi) şi a fracţiei (52 biţi). Relaţia dintre exponentul e şi caracteristica c
este:
c  e  1023
şi evident c are drept limite de reprezentare
0  c  211  1  2047 .
Valorile minime şi maxime ale exponentului sunt –1023 şi 1024, ceea
ce arată o putere de reprezentare deosebit de mare în cazul folosirii virgulei
mobile în dublă precizie.

50
Reprezentarea caracterelor alfanumerice
Calculatoarele prelucrează informaţie numerică, dar şi informaţie
nenumerică (texte). Pentru reprezentarea informaţiei numerice se folosesc
algoritmii şi convenţiile prezentate.
Reprezentarea informaţiei nenumerice (litere mari şi mici, cifre
zecimale, semne de punctuaţie, operatori aritmetici şi logici, simboluri
pentru controlul comunicaţiei şi editare etc.) se face pe baza unor coduri.
Aceste coduri asociază fiecărui semn utilizat o configuraţie binară. Pentru o
mulţime de m semne sunt necesare 2n configuraţii binare unde n este cel
mai mic număr natural cu proprietatea 2 n  m . De exemplu, fiecare
element al unei mulţimi de 30 de semne poate fi codificat utilizând una din
cele 25  32 configuraţii binare distincte, cu lungimea de la 5 biţi. Se
observă că două din cele 32 configuraţii binare posibile nu sunt folosite
(sunt cuvinte fără sens).
Convenţia de reprezentare a caracterelor alfanumerice, în
calculatoarele moderne este codul ASCII (American Standard Code for
Information Interchange). O configuraţie binară din codul ASCII are 8 biţi
(se pot codifica 28  256 semne). Plajele de reprezentare sunt următoarele:

0 – 31 : codificarea caracterelor de control.


32 – 127: codificarea literelor mari şi mici, a cifrelor zecimale şi
a semnelor speciale.
128 – 255: codificarea semnelor cu utilizare specială.
Există şi alte coduri folosite în sistemele de calcul. Dintre acestea
amintim codul EBCDIC (Extended Binary Coded Decimal Interchange
Code).

� Test de autoevaluare
2.7. Care este reprezentarea în virgulă mobilă normalizată a numărului
în baza 10, 207.022? Dar a numărului 0.00446?
2.8. Care dintre următoarele este structura reprezentării în virgula
mobilă simplă precizie?

51
a.
64 63 … 53 52 … 1
S Caracteristică (c) Fracţie (f)
b.
32 31 … 24 23 … 1
S Caracteristică (c) Fracţie (f)
c.
64 63 … 24 23 … 1
S Caracteristică (c) Fracţie (f)

2.9. Ce este codul ASCII?

Răspunsurile testelor de autoevaluare

2.1. 326510 = 1100110000012 = CC116, 2810 = 111002 = 1C16, 29310 =


1001001012 = 12516, 52610 = 10000011102 = 20E16.
2.2. 53, 117, 19.
2.3. 0.90625, 3.359375, 2.4375, 163.150146484375, 2746.7265625.
2.4. 30.310 = 11110.0(1001)2 = 36.2(3146)8 = 1E.4(C)16.
2.5. 671.50.
2.6. 101001000010, 000101001000.1111, 001100110001.01010000
2.7. 0.207022 x 103, 0.446 x 10-2
2.8. b
2.9. Un cod de reprezentare a caracterelor alfanumerice.

Lucrare de verificare ...................................................✍

Realizaţi o sistematizare a cunoştinţelor dobândite în această unitate


de învăţare.

52
Rezumat
Construcţia memoriei calculatoarelor fiind bazată pe utilizarea
elementelor cu două stări stabile, informaţia numerică se reprezintă în baza
2 sau în baze care sunt puteri ale acesteia (baza 8 şi baza 16). Pe de altă
parte, valorile numerice pe care le furnizăm programelor sunt exprimate în
baza 10, şi tot în baza 10 solicităm rezultatele acestor programe. Prin
urmare, în operarea cu valori numerice au loc foarte frecvent conversii în şi
din baza 10 în bazele 2, 8 sau 16. Acest capitol descrie conversiile
numerelor întregi şi reale dintr-o bază de numeraţie în alta şi reprezentarea
în calculator a informaţiilor numerice şi alfanumerice.
Reprezentarea numerelor întregi se poate realiza în trei moduri:
 reprezentare în modul şi semn (cod direct);

 reprezentare în complement faţă de 1 (cod invers);

 reprezentare în cod complement faţă de 2 (cod complementar).


Reprezentarea utilizată de calculatoarele moderne, care oferă avantaje
faţă de celelalte reprezentări, este reprezentarea în cod complementar.
Reprezentarea numerelor reale se poate face în virgulă fixă sau în
virgulă mobilă. În cazul folosirii virgulei fixe puterea de reprezentare este
foarte redusă, spre deosebire de cazul folosirii virgulei mobile, bazate pe
exprimarea numerelor (reale) în virgulă mobilă normalizată.
După dimensiunea şi structura spaţiului de memorie utilizat,
reprezentarea în virgulă mobilă poate fi: reprezentare în virgulă mobilă
simplă precizie (pe 32 de biţi) sau reprezentare în virgulă mobilă dublă
precizie (pe 64 de biţi).
Informaţia nenumerică (litere, cifre zecimale, semne de punctuaţie,
operatori aritmetici şi logici, simboluri pentru controlul comunicaţiei şi
editare etc.) se reprezintă pe baza unor coduri care asociază fiecărui semn o
configuraţie binară. Cel mai cunoscut astfel de cod este codul ASCII.

53
Bibliografie
2. Adrian Petrescu, Nicolae Ţăpuş, Trandafir Moisa, Gheorghe Rizescu,
Viorica Hărăbor, Mihai Mârşanu, Traian Mihu, abc de calculatoare personale
şi … nu doar atât …, Vol.I, Ed. Tehnică, Bucureşti, 1990.
10. Leon Livovschi, Bazele Informaticii, Editura Didactică şi Pedagogică,
Bucureşti, 1981.

54

You might also like