Documente Academic
Documente Profesional
Documente Cultură
1
1 Reprezentarea informaiilor
1.1 Scopul lucrrii
In aceast lucrare se urmrete identificarea tipurilor de informaii reprezentate ntr-un
calculator i definirea modurilor de codificare a acestora n vederea memorrii, prelucrrii i
transmiterii.
Pentru fiecare tip de informaie exist una sau mai multe forme de reprezentare
(codificare). Alegerea unei anumite forme de codificare se face n funcie de anumite
obiective urmrite, cum ar fi:
reprezentarea coerent, univoc a informaiilor n vederea stocrii, transmiterii
i a prelucrrii acestora
utilizarea eficient a spaiului alocat (spaiu minim)
detecia i corecia erorilor
facilitarea (simplificarea) operaiilor de prelucrare, stocare i transmitere
securizarea datelor
n zecimal
0 1 2 ... 9
0 1 2
9
1 2 3
0
2 3 4
1
9
n binar
+ 0
0 0
1 1
1
1
0
3010 = 111102
0
1
1
1
1
0,48
0,96
1,83
1,66
1,32
.....
0,4810=0,0111...2
0
1
1
1
Se observ c n cazul conversiei prii fracionare de cele mai multe ori nu se obine
un rezultat exact. Procesul de conversie se ncheie atunci cnd se obine o precizie rezonabil
de exprimare a valorii fracionare. De exemplu n multe aplicaii inginereti o precizie de 2
cifre zecimale dup virgul se consider o precizie acceptabil. ntrebarea este cte cifre
binare sunt necesare pentru o precizie similar? La exprimarea n baza zece, prin dou cifre
dup punctul zecimal se obine o eroare maxim de 1/100. n baza 2 pentru o precizie
similar trebuie s se utilizeze 7 cifre binare pentru a obine o eroare maxim de 1/128, adic
1/27. (Observaie: eroarea maxim este egal cu cea mai mic unitate exprimabil prin
numrul dat de cifre). n mod similar pentru o precizie mai mare de 1/1000 (3 cifre zecimale
dup punct) sunt necesare 10 cifre binare (1/1024 = 1/210).
Poziia punctului zecimal nu se reprezint n calculator. Prin convenie se consider
ntr-o poziie predefinit. De exemplu pentru reprezentarea numerelor strict ntregi poziia
punctului zecimal se consider n dreapta reprezentrii (dup cifra cea mai puin
semnificativ). Din aceast cauz aceast codificare poart numele de "reprezentare n virgul
fixa".
n mod paradoxal pentru operaiile de adunare i scdere poziia punctului zecimal nu
influeneaz rezultatul generat. Situaia este diferit pentru operaiile de nmulire i
mprire, unde poziia punctului n rezultat se schimb.
Pentru a face trecerea de la sistemul zecimal la cel binar i invers adesea se utilizeaz
un sistem de numeraie intermediar, care se apropie de ambele sisteme. De exemplu sistemul
hexazecimal este utilizat n acest scop deoarece, pe de-o parte permite exprimarea unor valori
printr-un numr rezonabil de cifre, iar pe de alt parte se poate converti relativ simplu n
sistemul binar. n cazul n care se vizualizeaz coninutul unei zone de memorie sau a unor
registre informaia este prezentat n format hexazecimal, chiar dac n calculator informaia
Hexazecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Zecimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
13010 -> valoarea absolut nu se poate reprezenta pe 7 bii => reprezentarea se poate face
numai pe un numr mai mare de bii
13010 -> 0000.0000.1000.00102 -13010 -> 1000.0000.1000.00102
Aceast form de reprezentare este simpl, dar nu este avantajoasa pentru implementarea
operaiilor aritmetice. Unitatea aritmetic trebuie s in cont de semnul operanzilor.
1100.0000+
0001.0000
1101.0000 ->208
0011.0000 -> 48
Numere fr sem
192+
16
208
Valoare
-5
0
5
Reprezentare C2 pe 8 bii
1111.1011
0000.0000
0000.0101
Reprezentare C2 pe 16 bii
1111.1111.1111.1011
0000.0000.0000.0000
0000.0000.0000.0101
Caracteristica
Mantisa
Reprezentarea poart numele de codul BCD Binary Coded Decimal. Acest cod este
asemntor cu reprezentarea hexazecimal cu diferena c se utilizeaz numai primele 10
combinaii de bii:
010 -> 00002, 110 -> 00012, 210 -> 00102, ..... 910 -> 10012 ; celelalte combinaii sunt
nepermise (ex. 1010, ... 1111)
Procesoarele Intel au instruciuni n limbaj de asamblare care suport operaii aritmetice
n reprezentarea BCD. Codurile cifrelor zecimale se pstreaz fie individual pe cte un octet
(forma despachetat), fie cte 2 cifre pe un octet (forma mpachetat).
Codul BCD cu
paritate
00001
00010
00100
00111
.....
10011
Nepermis
Nepermis
Nepermis
Codul 2 din 5
(coduri de bare)
00110
10001
01001
11000
01010
Nepermis
Nepermis
Nepermis
D6 D5
D4 D3 D2
octet
D1 D0
D11D10
D9 D8
D7
D6 D5
D4
D3 D2
D1 D0
cuvnt
Dac o dat este reprezentat pe un numr mai mare de octei atunci se pune problema
modului de amplasare a octeilor la adrese consecutive de memorie. Exist dou convenii de
reprezentare:
- little endian partea mai puin semnificativ a datei se amplaseaz la adrese mai mici
(se pune n fa)
- big endian partea mai semnificativ a numrului se pune la adrese mai mici (se
pune n faa)
De exemplu n convenia little endian o valoare hexazecimal de forma 12345678h se
memoreaz la adresa fizic 100h n felul urmtor:
78h
56h
34h
12h
100h
101h
102h
103h
41h
42h
43h
61h
62h
63h
Cifre
0
30h
1
31h
2
32h
...
9
39h
Coduri de formatare
spaiu
20h
CR- retur
0Dh
Semne de punctuaie
2Eh
.
2Ch
,
Operaii aritmetice
2Bh
+
2Dh
-
LF linie nou
0Ah
FF- pagin nou
Coduri de control al transferului
XON- pornire transmisie
11h
XOFF- oprire transmisie
13h
Standardul "unicode" extinde codificarea ASCII prin adugarea unui octet suplimentar.
Astfel anumite litere speciale (litere greceti, litere arabe, litere cu semne speciale, etc.) sau
semne grafice sunt reprezentate pe 16 bii.