Sunteți pe pagina 1din 43

1

2.3. Codificarea informaiei



Calculatorul trebuie s prelucreze informaia
corespunztoare limbajului uman. Aceasta folosete
sistemul zecimal, 26 de litere mici, respectiv mari i
diferite semne speciale (<, >, ? ) . Aceast
informaie trebuie transformat pentru a putea fi
neleas de calculator, care folosete sistemul binar.
Operaia de transforare a informaiei
inteligibil pentru om n informaie inteligibil
pentru calculator se numete codificarea informaiei.
2
Pentru definirea unui cod trebuie s se
stabileasc:
- numrul de elemente s emise de sursa de informaii,
- numrul de elemente m utilizate pentru construcia
codului,
- lungimea n a secvenei de cod.
Cu cele m elemente se pot construi m
n
secvene
de cod distincte. Codul poate fi construit dac s m
n
.
Din aceast condiie rezult lungimea optim, n, a
codului.
Exemplu: sistemul zecimal are 10 caractere. Dac
de dorete codificarea acestora n binar atunci din
condiia 10 2
n
rezult n = 4.
3
Un cod alfanumeric binar trebuie s codeze:

- cifre (10),
- litere mari i mici (26+26) (alfabetul latin),
- semne speciale (34),
- comenzi sau caractere de control (32).

n total codul trebuie s codifice 128 de caractere.

Din relaia 128 2
n
rezult lungimea optim
(minim) a codului - n = 7.
4
n decursul timpului s-a ajuns la concluzia c
lungimea optim a cuvntului de cod este de 8 cifre
binare, prin urmare se pot defini 2
8
= 256 cuvinte de
cod.

Prima firm care a impus standardul de 8 cifre
binare a fost IBM prin codul EBCDIC (Extended
Binary Coded Decimal Interchange Code).
5
2.4. Codul ASCII

Codul ASCII (American Standard Code for
Information Interchange) este un cod pe 8 bii,
orientat pe limba englez i punctuaia american,
utilizat de calculatoarele compatibile IBM-PC. Are
la baz codul ASCII pe 7 bii preluat din telefonie ce
avea doar 128 cuvinte de cod. Prin mrirea lungimii
cu un bit au mai fost adugate nc 128 de caractere
ce formeaz setul extins de caractere ASCII.
6
Codul ASCII este format din:
- setul de caractere de baz
128 de caractere, coduri: 00-7Fh;
- setul de caractere extins
128 de caractere, coduri: 80-FFh.
7
Setul de caractere de baz cuprinde:

- 10 caractere (coduri) pentru cifre - 48-56 (30-39h);
- 26 caractere pentru literele mari ale alfabetului latin -
65-90 (41-5Ah);
- 26 caractere pentru literele mici ale alfabetului latin -
97-122 (61-7Ah);
- 34 de semne speciale - 32-47 (20-2Fh), 58-64 (3A-
40h), 91-96 (5B-60h), 123-127 (7B-7F);
- 32 de coduri pentru caracterele de control - 0-31 (00-
1Fh).
8
Setul de caractere extins cuprinde:

- 48 coduri pentru caractere strine 128-175 (80-AFh),
coduri organizate pe 3 grupe:
- litere specifice alfabetelor europene diferite de
cele ale alfabetului englezesc 128-154 (80-9Ah),160-
167 (A0-A7h),
- simboluri curente: centul, lira, yenul japonez,
peseta spaniol, francul 155-159 (9B-9Fh),
- semne speciale de punctuaie: semn de
ntrebare inversat, semn de exclamare inversat,
fraciile, unghiurile, ...
9
- 48 coduri pentru construirea chenarelor 176-223
(B0-DFh) linii simple, duble, mai groase, mai subiri
... ,

- 32 coduri pentru grupul caracterelor tiinifice 224-
255 (E0-FFh):
- literele alfabetului elen folosite n matematic
224-238 (E0-EEh),
- simboluri matematice speciale 239-255 (EF-
FFh) integral, ridicare la ptrat ... .
10
Caracterele de control din setul de baz al
codului ASCII sunt folosite pentru controlul editrii,
a imprimantei sau a altor dispozitive, ntreruperea
execuiei unui program, controlul comunicaiei.

Exemplu: 3 - ntreruperea execuiei unui program,
8 - Backspace,
9 - Tab,
13 (0Dh) - Enter,
12 (0Ch) - salt la pagin nou,
26 (1Ah) - marcare sfrit de fiier ...
11
2.5. Reprezentarea datelor

Informaia (numere, litere, desene, sunete,
coduri ...) prelucrat de calculator se numete dat.
Data este o reprezentare a informaiei ntr-o
anumit form astfel nct s poat fi prelucrat,
transmis i nmagazinat pe supori tehnici de
informaie.
Informaia este obiectul.
Data este modelul de reprezentare a obiectului.
Datele reprezint materia prim a unui calculator. n
urma prelucrrii datelor de ctre calculator se obin
noi informaii.
12
Datele pot fi reprezentate printr-un triplet de
forma:

d = (I, V, A)

unde d dat, I identificator, V valoare, A
atribut.

Identificatorul simbol ce se asociaz unei date
pentru a se putea face referiri la ea n timpul
procesului de prelucrare a datelor.
13
Valoare poate fi precizat printr-o enumerare sau
proprietate comun. n funcie de valoare avem:

- date variabile date care pe parcursul procesului
de prelucrare pot lua valori diferite din mulimea de
definiie a datei,

- date constante date care pe parcursul procesului
de prelucrare i pstreaz valoarea primit n
momentul n care a fost definit.
14
Atribut propritate a datei ce determin modul n
care va fi tratat aceasta n procesul de prelucrare.

Exemplu:
a) tipul datei definete apartenena datei la o
anumit clas de date:
- tip numeric - ntreg
- real
- tip logic
- tip alfanumeric
15
b) precizia reprezentrii interne definete
fidelitatea reproducerii obiectului reprezentat de
dat. Precizia depinde de zona de memorie atribuit
datei i poate fi:
- simpl precizie
- dubl precizie
16
2.5.1. Reprezentarea datelor n calculator

Reprezentarea datelor alfanumerice
Fiecare caracter (liter, cifr, spaiu, caracter
special) va fi reprezentat (codificat) printr-o secven
de 8 cifre binare (un octet) folosind codul ASCII.

Asupra acestor date pot aciona operatorii:
- de concatenare (din dou iruri rezult un ir),
- de comparare (se compar secvenele de cod
ASCII, adic se compar dou numere).
17
Reprezentarea numerelor ntregi

Pentru reprezentare se utilizeaz un numr
binar de lungime fix. Lungimea secvenei binare
este de 8 bii sau multiplu de 8 bii. Pentru a obine
lungimea dorit se adaug bii cu valoare logic zero
n poziiile biilor mai semnificativi (pentru numere
pozitive).
18
Numr ntreg fr semn. Exemplu:
Numrul 5
reprezentare pe 8 bii 0000 0101
reprezentare pe 16 bii 0000 0000 0000 0101

bii pe zero pentru completarea reprezentrii
19
Valoarea maxim pentru numrul ntreg fr
semn are reprezentarea

1111 1111 pe 8 bii (2
8
-1 = 255)
1111 1111 1111 1111 pe 16 bii (2
16
-1 = 65535)
20
Numr ntreg cu semn

Primul bit, cel din stnga reprezentrii (MSB),
este utilizat pentru precizarea semnului astfel:

- 1 numere negative,
- 0 numere pozitive.
21
Exemplu:
numrul 5, reprezentare pe 16 bii
0 000 0000 0000 0101

bit de semn

numrul 5, reprezentare pe 16 bii n codul modul i
semn (semn i amplitudine, mrime i semn)
1 000 0000 0000 0101

bit de semn
22
Modul de reprezentare modul i semn are o serie de
dezavantaje:

- biii de semn ai numerelor care particip la operaia
aritmetic dat trebuie tratai separat;

- exist dou reprezentri pentru cifra 0:
0 000 0000 0000 0000
i
1 000 0000 0000 0000;

- se impune definirea unei operaii de scdere a
valorilor absolute ale numerelor.
23
Reprezentarea numerelor negative folosind
codul complementul fa de 2 (CCD)

Complementul unui numr ntreg negativ n
N

fa de 2 este /n
N
:

/n
N
= 2
N
- n
N


unde N numrul de cifre binare pe care se face
reprezentarea numerelor.
24
Exemplu:
numrul 5 reprezentare pe 16 bii

2
16
5 = 1 0 000 0000 0000 0000
0 000 0000 0000 0101 =
= 1 111 1111 1111 1011

bit de semn

Domeniu de variaie este -2
N-1
n 2
N-1
- 1

25
Reprezentarea numerelor reale

Numerele reale sunt formate din:
- semn
- parte ntreag
- parte fracionar (sau parte subunitar)

Numerele reale pot fi reprezentate n dou
moduri:
- n virgul fix (binary fixed point),
- n virgul mobil (binary floating point).
26
Reprezentarea n virgul fix

Reprezentarea numerelor ntregi, prezentat
anterior, se face n virgul fix. Virgula este la
dreapta numrului i partea fracionar este zero.

Numerele reale pot fi reprezentate n virgul
fix. n acest caz se presupune c partea ntreag este
desprit de partea fracionar printr-o virgul a
crei poziie este fix. De asemenea sunt fixai i
numrul de bii corespunztori fiecrei pri.
27
Exemplu: Considerm reprezentarea numerelor
reale pe 8 bii din care primii 5 codeaz partea
ntreag i ultimii 3 partea fracionar.
Dac sunt codate doar numere pozitive atunci
valoarea lor se obine cu relaia:



Domeniul de variaie este
00000 000 11111 111
0 31,875


= =
+ =
3
1
4
0
2 2
j
j
j
i
i
i
b b D
28
Codarea numerelor cu semn > MSB bit de semn
i se noteaz cu S (0 pozitiv, 1- negativ),

Pentru cod semn i amplitudine avem relaia:



Domeniu de variaie
binar 11111 111 01111 111
zecimal -15,875 15,875
|
|
.
|

\
|
+ =


= =
3
1
3
0
2 2 ) 1 (
j
j
j
i
i
i
S
b b D
29
Pentru CCD avem relaia:



Domeniu de variaie
binar 10000 000 01111 111
zecimal -16 15,875

n toate cazurile rezoluia este 2
-3
sau 0,125.


= =
+ + =
3
1
3
0
4
2 2 2 ) 1 (
j
j
j
i
i
i
b b S D
30
Reprezentare fracionar CCD fracionar sau Q(N-1)

numr S

b
1
b
2
... b
i
... b
N-2
b
N-1

ponderi -1 2
-1
2
-2
... 2
-i
... 2
-(N-2)
2
-(N-1)

MSB LSB

Domeniu de variaie
binar 100...000 011...111
zecimal -1 1-2
-(N-1)

31
Reprezentare n virgul mobil
Reprezentarea n virgul mobil, numit i
reprezentare n virgul flotant sau notaie tiinific,
utilizeaz o tehnic de scalare automat.
Un numr notat Nr se poate reprezenta n
virgul mobil sub forma:
Nr = MB
E

unde M mantisa indic valoarea exact a
numrului ntr-un anumit domeniu (numr fracionar
cu semn),
E exponentul indic ordinul de mrime al
numrului,
B baza sistemului de numeraie.

32
De obicei, cmpul rezervat exponentului
conine o valoare numit caracteristic (C), care se
obine prin adunarea unui deplasament (o constant)
la exponent astfel nct s rezulte o valoare pozitiv.
n acest caz exponentul nu are nevoie de semn.
Caracteristica va fi:
C = E + deplasament

Prin irul de bii utilizai se reprezint semnul
mantisei, exponentul i mantisa. Baza este implicit.
33
Ex: Caracteristic codat pe 8 bii
Domeniul de valori 0 255
Deplasament: 128 (80h)
=> Exponent domeniu de valori 128 +127
=> Exponent negativ pentru C < 128
pozitiv pentru C > 128
zero pentru C = 128
34
M = 0 => numrul codat este 0 chiar dac E 0. n
acest caz avem un zero impur.
Recomandare pentru codarea numrului 0 s se
foloseasc cel mai mic exponent posibil pentru a
rezulta un zero pur.

Exponent deplasat C = E + deplasament
E minim = -128
deplasament = 128
=> caracteristica C = 0.
Rezult aceeai reprezentare pentru valoarea 0 att n
virgul mobil ct i n virgul fix.
35
2.6. Pori logice

Un circuit numeric lucreaz cu doar dou
valori, numite valori logice. Fiecrei valori logice i
corespunde un nivel de tensiune dintr-o anumit
plaj. Valoarea tensiunii pentru a citi un anumit nivel
logic se afl ntr-un interval:
nivel logic interval tensiune
0 0 V V
Lmax

1 V
Hmin
V
alimentare
unde V
Hmin
> V
Lmax

36
Circuitele elementare care au la intrare,
respectiv ieire, semnale cu valori n anumite
intervale stabilite se numesc pori logice.

Circuitele numerice complexe conin mai
multe pori logice.
37
Principiul de funcionare al porilor logice
poate fi prezentat cu ajutorul unor comutatoare.
Comutatoarele funcioneaz astfel:
- nchis cnd este comandat de o tensiune ridicat
(1 logic),
- deschis cnd este comandat de o tensiune cobort
(0 logic).

n continuare se prezent trei exemple de pori
logice. Cu +V a fost notat tensiunea de alimentare
(+5V) i cu simbolul pentru mas (potenial de
referin, 0V).
38
Inversor logic (NOT)

U
in
1 logic (~5V),
K nchis,
U
out
0 logic (~0V)

U
in
0 logic (~0V),
K deschis,
U
out
1 logic (~5V)

+V
R
U
in

K
U
out

39

Circuit I-NU (NAND) Circuit SAU-NU (NOR)
+V
R
U
1

K
1

U
out

U
2

K
2

+V
R
U
2

K
2

U
1

K
1

U
out

40
Circuitul I (AND) se obine conectnd un
inversor la ieirea circuitului I-NU (NAND).
Circuitul SAU (OR) se obine conectnd un
inversor la ieirea circuitului SAU-NU (NOR).

Mai jos sunt prezentate simbolurile pentru
cteva pori logice precum i tabelele de adevr
corespunztoare.
NOT
A
X
A X
0 1
1 0
41

NAND
A
B
X
A B X
0
0
1
1
0
1
0
1
1
0
0
0
A
B
X
NOR
A B X
0
0
1
1
0
1
0
1
1
1
1
0
42
Circuitul electric care ia decizii se numete poart
logic. Cel care memoreaz o stare se numete
bistabil (latch), sau pur i simplu memorie.
43
Matematicianul englez George Boole a artat
c procesul de luare al deciziilor se poate face prin
aplicarea unor principii de algebr.
n 1847 el a pus bazele algebrei booleene
(logic booleean). A redus propoziiile la simboluri
i operaii formale astfel, propoziiile logice putnd
fi rezolvate la fel ca i ecuaiile matematice.
Funciile tuturor operatorilor din logica
boolean pot fi executate cu ajutorul porilor logice.

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