Sunteți pe pagina 1din 2

L 3.

REPREZENTAREA NUMERICĂ A DATELOR, CONVERSIA DATELOR

Tipuri de reprezentare numerică (pe octet sau cuvânt): binară, hexa, zecimală, ASCII
(American Standard Code for Information Interchange).
* Forma binară (baza “2”) foloseşte cifrele “0”şi “1” şi poate reprezenta o valoare numerică
sau un grup de stări logice (valori de adevăr).
* Forma Hexa (baza “16”) foloseşte cifrele: 0,…,9,A(=10), B(=11), C(=12), D(=13), E(=14),
F(=15). Este foarte avantajoasă pentru reprezentarea codurilor binare, care la origine folosesc
numai simbolurile “0” şi “1”. Datorită relaţiei biunivoce între fiecare cifră hexa (0…F) şi
fiecare grup de patru cifre binare se poate obţine o formă concisă a codurilor binare, foarte
folosită atunci când se lucrează direct cu limbajul maşină sau cu conţinutul locaţiilor de
memorie.
* Forma ASCII reprezintă un caracter (cifră, litera, simbol grafic) corespunzător unui cod
numeric.

Calculul unei valori pentru un număr cu n+1 cifre: “cn…c2c1c0” reprezentat într-o anumită
bază “B” se face cu nrelaţia: Valoare = cnBn…c2B2c1B1c0B0.
Un număr binar poate reprezenta un set de stări logice sau valori de adevăr. Operaţiile logice
vor acţiona la nivel de bit (cifră binară). Pentru cifrele binare avem următoarea corespondenţă
între operatiile aritmetice şi logice:
Tip operaţie Notaţie operator logic Notaţie operator aritmetic
Înmulţire AND ŞI *
Adunare OR SAU +

Pentru un număr cu două cifre, reprezentarea operatorilor pentru operaţiile logice AND şi OR
foloseşte simbolurile:
A0 A0
B0 C0 B0 C0

A1 C1 A1 C1
B1 B1

Intervalul de variaţie al numerelor întregi fără semn este:


- pe octet (pe 8 biţi): [0..255];
- pe cuvânt (word -16 biţi): [0..65535];
- pe dublu cuvânt (double word – 32 biţi): [0..232].

Intervalul de variaţie al numerelor întregi cu semn (reprezentate în cod complementar fata de


2) este:
- pe octet: [-128..+127];
- pe cuvânt: [-32268...+32267];
- pe dublu cuvânt: [-231..+ 231-1].

Atunci când se lucrează în mod text, pentru caracterele alfa-numerice, se foloseşte, de regulă,
reprezentarea ASCII (American Standard Code for Information Interchange). Acesta diferă de
codul BCD neîmpachetat prin prima tetrada (primul grup de 4 biţi) care este 3H in loc de 0H.

În limbajul de asamblare trebuie specificat dacă un registru este utilizat pentru un tip sau alt
tip de date. Astfel, de exemplu, în cazul registrului “Acumulator”, specificarea AL sau AH se
referă la memorarea unui octet, respectiv în partea inferioară (A – “low”) sau în partea
superioară (A – “high”) a registrului. Specificarea AX sau EAX (“extended” AX) se referă la
utilizarea registrului, respectiv, pentru un cuvânt sau pentru un dublu-cuvânt.
Conversia numerică
În cadrul calculatorului, numerele sunt memorate sub formă binară. Aceasta poate să
reprezinte chiar forma binară a numărului sau poate să reprezinte (codificat) cifrele unei alte
reprezentări. Atunci când este afişat calculatorul realizează operaţii de conversie, prin care se
obţine şirul de simboluri corespunzătoare cifrelor modului de reprezentare dorit.
De exemplu, numărul cu valoarea 200z (indicele arată reprezentarea zecimală) are următoarele
reprezentări în baza 16 (hexazecimal), respectiv în baza 2 (binar):
200z = C8h = 11001000b
Această echivalenţă are loc deoarece:

În tehnica de calcul se preferă reprezentarea hexazecimală deoarece este mai concisă şi


trecerea la reprezentarea binară se poate face mai direct, prin conversia individuală a cifrelor
hexa, evitându-se calculul cu puteri mari ale bazei. Fiecare cifră hexa este convertită în cod
binar cu 4 cifre, valoarea maximă fiind aceeşi (=15 z). Există astfel o corespondenţă biunivocă
între cele două reprezentări, indiferent de valoarea numărului. Deci, se poate trece da la
reprezentarea hexa la cea binară, indiferent de semnificaţia unui cod numeric oarecare. În
exemplul de mai sus, cifra C corespunde grupului 1100, iar cifra 8 corespunde grupului 1000.
Cu toate acestea, uneori, numerele sunt codificate binar prin conversia individuală a cifrelor
zecimale, în reprezentarea notată “BCD” (Binary Code Decimal). Trebuie menţionat că pentru
reprezentarea binară a fiecărei cifre zecimale sunt necesare câte 4 cifre binare (4 biţi), deşi o
parte din cod nu va fi folosit, corespunzător valorilor de la 10 la 15.
Pentru exemplul de mai sus, prin conversia BCD rezultă:

Pentru memorarea datelor, poate fi folosit câte un octet pentru codul binar al fiecărei cifre
zecimale (aliniat la dreapta), rezultând reprezentarea BCD “Neimpachetată” sau se poate
utiliza un octet pentru câte două cifre zecimale, rezultând reprezentarea BCD “Împachetată”.

* Construiţi tabelul de mai jos pentru numerele cu valori de la 0 la 100, din 10 în zece, cu
reprezentările zecimală, binara, hexazecimală (hexa), ASCII.

forma forma Binară forma Hexa codul BCD codul BCD caracter
Zecimală împachetat neîmpachetat ASCII

* Construiţi schema cu operatori pentru următoarele operaţii logice:

*Scrieţi şi verificaţi un program prin care registrul AX să fie încarcat cu o constantă de


valoare FF, dată în formă binară, zecimală şi Hexa.

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