Sunteți pe pagina 1din 8

Coduri numerice 17

Coduri numerice
2.1 Coduri binare
2.1.1 Introducere
n orice structur logic, fie ea programabil sau n logic cablat, exist dou categorii de
informaii a cror reprezentare intern urmeaz a se face prin succesiuni de cifre binare. Exist dou
tipuri de date care urmeaz a fi reprezentate ntr-un sistem, i anume: date numerice i date
alfanumerice. Cele dou categorii de informaie se refer eident la exprimarea numerelor i
respecti a altor simboluri sau semne.
n te!nica digital, baza de numeraie folosit fiind baza ", rezult c pentru exprimarea unei
informaii se folosesc cuinte binare de o anumit lungime. n mod obinuit, lungimea cu#ntului
de informaie este un multiplu de $ bii %numit octet sau b&te'. (e utilizeaz deci cuinte binare de
$, )*, "+, ,", etc. bii.
n aceste condiii, exist dou posibiliti de a reprezenta datele numerice:
- sub form de numere ntregi, sau n fracie fix %n irgul fix'-
- sub form de numere fracionare, multiplicate cu o putere a bazei ", reprezentare cunoscut sub
numele de irgul mobil.
Cea mai simpl reprezentare este cea a numerelor ntregi fr semn. .ceasta se realizeaz pe ntraga
lungime a cu#ntului de cod binar, conform exemplului urmtor:
/ * 0 + , " ) 1
) 1 1 ) ) ) 1 )
2(3 4(3
3itul cel mai semnificati %cel mai din st#nga', de rang / n exemplul precedent se noteaz 2(3
%2ost (ignificant 3it', iar bitul cel mai puin semnificati %aflat pe poziia cea mai din dreapta', de
rang 1, este notat prin 4(3 %4east (ignificant 3it'.
n mod similar se reprezint i numerele fracionare binare fr semn, printr-un cod ca n figura
urmtoare:
/ * 0 + , " ) 1
) 1 1 ) ) ) 1 )
2(3 4(3
4inia ngroat arat poziia punctului zecimal %sau a irgulei zecimale n reprezentarea
rom#neasc'- acesta nu se reprezint fizic, fiind doar fixat implicit, de unde i denumirea de
reprezentare n irgul fix.
18 Coduri numerice
n reprezentarea sub forma igul fix, irgula binar este poziionat de obicei dup cifra cea mai
puin semnificati %n general, irgula poate fi poziionat i n alt parte'. 5eoarece este necesar a
opera at#t cu numere pozitie c#t i cu cele negatie, trebuie rezerat o poziie binar pentru
exprimarea semnului. 6oziia aleas, denumit cifr semn, este poziia cea mai din st#nga a
numrului binar. n mod conenional, se consider cifra binar 1 pentru exprimarea semnului 789
i cifra binar ) pentru exprimarea semnului 7-7. n consecin, presupun#nd c s-au alocat " octei,
rm#n )0 cifre binare pentru mrirea unui numr :, sau astfel spus, gama numerelor ntregi
exprimabile se extinde ntre: -"
)0
:"
)0
.
5up ce a fost stabilit lungimea cu#ntului pentru o dat numeric de tip ntreg, precum i poziia
cifrei semn, exist trei modaliti distincte de exprimare a numerelor negatie, ceea ce conduce la
trei moduri distincte de efectuare a operaiilor aritmetice elementare.

2.1.2 Reprezentarea numerelor prin semn i valoare absolut
Cea mai simpl form de exprimare este cea denumit reprezentarea prin mrime i semn. n
aceast form, numerele pozitie i negatie de acelai modul difer numai prin aloarea cifrei
semn %ezi conenia formulat anterior'. 5e exemplu, numerele zecimale 8)+ i respecti ;)+ au
urmtoarele reprezentri n cuinte de )* bii:
8)+ : 11111111.1111)))1
-)+ : )1111111.1111)))1
.dun#nd ns bit cu bit cele dou exprimri, rezult numrul: )1111111.111)))11, numr binar
care corespunde alorii ;"$ n zecimal- eident s-a obinut un rezultat incorect. n consecin,
adunarea bit cu bit nu conduce la rezultatul corect al operaiei de adunare i ca urmare este necesar
un algoritm special.
2.1.3 Reprezentarea prin complement fa de 1
n aceast form de reprezentare, numerele pozitie se reprezint la fel ca n reprezentarea prin
mrime i semn, iar cele negatie prin nlocuirea fiecrei cifre binare prin complementul su.
Consider#nd acelai exemplu, 8)+ rm#ne n aceeai form, n timp ce ;)+ se exprim prin:
-)+ : )))))))).))))111)
.dun#nd din nou cele dou exprimri, rezult numrul binar: )))))))).)))))))), care este de
multe ori considerat a fi reprezentarea lui zero n aceast reprezentare alturi de reprezentarea
normal: 11111111.11111111.
6rezena a dou alori pentru exprimarea cifrei zecimale zero, alturi de alte motie de ordin
aritmetic, face ca i aceast form de reprezentare a datelor s fie rareori utilizat n structurile
numerice.
2.1.4 Reprezentarea prin complement fa de 2
<na dintre cele mai bune reprezentri a datelor numerice din aceast categorie o reprezint cea
numit prin complement fa de ". :umerele pozitie se exprim prin aceeai form ca i n cele
dou forme de reprezentare anterioare. 6entru exprimarea numerelor negatie se parcurge
urmtoarea procedur:
(e formeaz complementul fa de ) al reprezentrii numrului poziti-
(e adaug o unitate la poziia cea mai puin semnificati.
Coduri numerice 19
=elu#nd exemplul analizat anterior om aea:
8)+: 11111111.111)))1
C): )))))))).)))111)
C)8): )))))))).))))11)1 -)+
5ac se adun acum bit cu bit exprimarea lui 8)+ cu cea obinut pentru ;)+, se obine forma de
reprezentare natural pentru cifra zecimal 1, adic: 11111111.11111111.
n acest proces de adunare, cifra semn a fost tratat la fel ca celelalte cifre ale numrului binar, iar
cifra de transport de la bitul de semn a fost negli>at. (e poate arta c rezultatul corect al operaiei,
inclusi semnul su, se obine indiferent de alorile celor dou numere care urmeaz a fi adunate
sau sczute. 5atorit acestei proprieti, care permite operarea corect bit cu bit a numerelor care
intr n operaie, trat#nd i cifra semn ca orice alt cifr a numerelor binare, forma de reprezentare
prin complement fa de " a fost adoptat aproape uniersal pentru reprezentarea numerelor ntregi
binare cu semn n toate structurile logice, inclusi n cele programabile.
2.1.5 Reprezentarea numerelor n vir!ul mobil
6osibilitatea reprezentrii numerelor ntregi binare nu acoper ns ntreaga gam a aplicaiilor
posibile pentru prelucrarea datelor n structurile logice. 6roblemele cu caracter te!nico-tiinific
implic calcule cu numere ntr-o gam foarte larg de alori, inclusi numere fracionare.
=ezolarea acestor categorii de probleme necesit exprimarea numerelor sub forma numit irgul
mobil.
( presupunem c pentru fiecare numr n aceast form de reprezentare sunt alocai c#te + octei,
repartizai conform figurii urmtoare:
1 ) ..... / $ ? ..... ,)
(E Exponent (2 2antis
<n numr : oarecare este exprimat printr-o mantis subunitar 2 i un exponent E, aloarea sa
fiind dat de:
: @ 2 x "
E
n reprezentarea considerat, pentru exponeni sunt alocai $ bii din care unul, (E, pentru semnul
exponentului, iar pentru mantis sunt disponibili "+ de bii, dintre care unul, (2, pentru semnul
mantisei. 6entru a aea maxim de precizie, mantisa numerelor este normalizat, neleg#nd prin
normalizare c prima cifr a mantisei, n afara cifrei de semn, este o cifr semnificati, sau, altfel
spus, mantisa are o aloare absolut dat de relaia:
"
-)
A2A B ).
Consider#nd mantisa exprimat prin forma complementului fa de " %de menionat c aici irgula
binar se plaseaz dup cifra semn, deoarece se lucreaz cu numere subunitare', operaia de
normalizare se face deplas#nd la st#nga mantisa p#n c#nd prima cifr semnificati a mantisei
deine contrar cifrei semn a mantisei i scz#nd din exponent un numr egal cu numrul
deplasrilor efectuate
2.2 Coduri binar " zecimale
5e-a lungul timpului s-a constatat c n momentul introducerii datelor ntr-un sistem de calcul
conersia reprezentrii numerelor fracionare zecimale n numere fracionare binare nu se face
exact. n consecin, n anumite aplicaii, unde se urmrete n special precizia absolut a
20 Coduri numerice
rezultatelor, nici una dintre reprezentrile binare nu mai este adecat. n astfel de aplicaii s-a pus
problema gsirii unor noi forme de codificare a informaiei numerice, utiliz#nd coduri binar-
zecimale, prin care aceast conersie s fie eliminat. Codificarea din zecimal ntr-un cod binar-
zecimal se face indiidual pe fiecare cifr zecimal i prin aceasta operaiile efectie se aplic lu#nd
n considerare grupuri de bii care reprezint ec!ialentul fiecrei cifre zecimale, adic oper#nd n
mod similar ca n sistemul de numeraie zecimal.
Exist o mare arietate de coduri binar-zecimale. n toate aceste coduri fiecare cifr zecimal se
exprim printr-un numr binar de + bii.
Coduri ponderate
n codurile binar-zecimale numite ponderate, o cifr cC1,...,?D se scrie pe + bii n forma:
%".)'
c b p
i i
i
=
=

1
,
unde b
i
C1,)D, iar p
i
sunt ponderile zecimale asociate cifrelor binare. 5intre ponderile uzuale putem
enumera: %$,+,",)', %",+,",)', %+,",",)', %/,+,",)', etc. .ceste coduri sunt ilustrate n tabelul urmtor:
Cifr
zecimal
$+") "+") +"") /+")
1 1111 1111 1111 1111
) 111) 111) 111) 111)
" 11)1 11)1 11)1 11)1
, 11)) 11)) 11)) 11))
+ 1)11 1)11 1))1 1)11
0 1)1) )1)) )11) 1)1)
* 1))1 ))11 ))11 1))1
/ 1))) ))1) ))1) 1)))
$ )111 )))1 )))1 )11)
? )11) )))) )))) )1)1
(e constat de exemplu c:
? @ )11) n cod $+")
? @ )))) n cod "+") sau n cod +""), etc.
5intre codurile ponderate om analiza codul cel mai des utilizat n sistemele numerice i anume
codul binar-zecimal $+"), cunoscut i sub numele de cod 3C5 %3inar& Coded 5ecimal'.
.a cum se tie, cu a>utorul a + cifre binare se pot obine )* combinaii distincte. n consecin, *
din cele )* combinaii, corespunztoare numerelor zecimale de la )1 la )0, nu sunt utilizate n acest
cod i deci sunt redondante %nu sunt necesare, nu exist'. 5atorit acestei particulariti, n modul de
efectuare a operaiilor aritmetice trebuie s se eite obinerea uneia dintre combinaiile redondante,
folosind n acest scop o procedur de corecie materializat fizic n structura unui circuit de corecie
auxiliar unitii de calcul aritmetic. 6ornim de la c#tea exemple:
Eie sumarea: 0 8 ,:
0 1)1) 8
, 11))
$ )111
=ezultatul obinut este corect, deci nu este necesar aciunea circuitului de corecie.
Eie acum adunarea: / 8 0:
Coduri numerice 21
/ 1))) 8
0 1)1)
%)"' ))11
(-a obinut una dintre combinaiile interzise n cod 3C5 %ec!ialentul numrului zecimal )"'.
6entru a obine rezultatul corect %" n poziia corespunztoare sumei celor dou cifre zecimale i
cifra de transport ) ctre decada urmtoare' circuitul de corecie trebuie s intre n aciune i s
adune la rezultatul obinut ec!ialentul cifrei *, adic:
%)"' ))11 8
* 1))1
%) ' " 11)1
6rima problem care apare o constituie modul de codificare a numerelor zecimale exprimate prin
codul 3C5. Este eident c pe fiecare octet or putea fi codificate dou cifre zecimale. :umrul de
octei ales pentru a exprima un numr zecimal depinde efecti de numrul de cifre zecimale, cu
obseraia c n primul octet o grup de + bii este rezerat reprezentrii semnului numrului.
.stfel, dac pentru reprezentarea unui numr zecimal sunt rezerai + octei, exprimarea sa se a
face prin / cifre zecimale.
F a doua problem care se ridic o constituie modul n care se efectueaz operaiile elementare,
adic adunarea i scderea. 5in punct de edere al reprezentrii numerelor, cea mai bun soluie ar
consta n efectuarea succesi a operaiilor asupra codificrii cifrelor zecimale din aceeai poziie a
celor doi operanzi, adic a efectua operaii serie asupra cifrelor zecimale codificate prin codul 3C5.
.cest fapt presupune a lua n considerare numai + poziii ale unui sumator de $ bii cu care este
ec!ipat de obicei un sistem numeric de calcul, ceea ce conduce la o utilizare ineficient a acestui
dispoziti aritmetic. n consecin, operaiile efectie sunt astfel concepute nc#t se fac simultan
asupra codurilor 3C5 a " cifre zecimale alturate. n aceast situaie, o cifr de transport poate fi
generat de la decada mai puin semnificati ctre decada de rang urmtor. Ca urmare, dispozitiul
aritmetic a trebui s fie prezut cu un bit de condiie suplimentar, care s sesizeze apariia cifrei
de transport de la bitul cu indicele , %primul bit are indicele 1' ctre bitul cu indicele +, a crui
testare poate aciona circuitul de corecie n scopul obinerii rezultatului corect n aceast form de
reprezentare.
Coduri neponderate
n codurile neponderate nu se respect relaia %".)'. Ele se obin din considerente de asigurare a
fiabilitii reprezentrii %prin introducerea unor constr#ngeri n reprezentare care permit erificri
ale corectitudinii'. Ca exemple se pot cita:
codul binar reflectat %codul Gra&' n care toate combinaiile binare care reprezint numere
zecimale alturate sunt adiacente adic difer prin aloarea unui singur bit-
codul 7" din 09 n care fiecare cifr este reprezentat prin 0 bii dintre care numai doi au
aloarea binar )-
alte coduri mai complexe care pe l#ng faptul c detecteaz eroarea , prin includerea unui bit de
paritate, o pot i corecta i care se numesc coduri corectoare.
.ceste coduri sunt ilustrate n tabelul urmtor:
22 Coduri numerice
Cifr
zecimal
G=.H 7" din 09
$+") cu
paritate impar
1 1111 111)) )1111
) 111) 11)1) 1111)
" 11)) 11))1 111)1
, 11)1 1)11) )11))
+ 1))1 1)1)1 11)11
0 1))) 1))11 )1)1)
* 1)1) )111) )1))1
/ 1)11 )11)1 11)))
$ ))11 )1)11 1)111
? ))1) ))111 ))11)
n cazul codului $+") cu paritate impar 2(3 este cifra binar suplimentar care are aloarea 1 sau
) astfel nc#t numrul cifrelor de ) din cei 0 bii ai cifrei zecimale s fie impar.
2.3 Coduri alfanumerice
Codificarea datelor alfanumerice este necesar pentru a putea memora mesa>e sau a transmite
informaii ce conin caractere speciale n cadrul diferitelor aplicaii cum ar fi reprezentrile grafice
sau n procesul de afiare. n mod normal, este util a codifica $$ de caractere distincte, n care sunt
cuprinse 0" de simboluri pentru literele mari i mici ale alfabetului englez, )1 simboluri pentru
reprezentarea cifrelor n sistemul zecimal de numeraie i "* de caractere speciale, printre care cele
de punctuaie, semnul numerelor, etc. Codificarea acestor caractere necesit minim / bii cu a>utorul
crora se pot alctui "
/
@)"$ de combinaii distincte.
Codurile alfanumerice stabilesc o coresponden biunioc ntre mulimea informaiei primare,
format din cifre, litere i semne speciale, n general denumite caractere i mulimea cuintelor
%binare' de cod de o lungime dat.
Cel mai des folosite coduri alfanumerice sunt:
Codul .(CII %.merican (tandard Code for Information Interc!ange'- i
Codul E3C5IC %Extended 3inar& Coded 5ecimal Interc!ange Code'.
Codul .(CII codific )"$ de caractere %cele 0" de litere ma>uscule i minuscule ale alfabetului
englez, cele )1 cifre zecimale, caractere speciale i caractere de comand'. Codul E3C5IC codific
),* de caractere. Exist caractere .(CII care nu au corespondent n E3C5IC i iners. Codul
.(CII, datorit succesiunii caracterelor ma>uscule i minuscule poate fi utilizat pentru ordonri
alfabetice.
5eoarece )"$ @ "
/
i ),* B "
$
, se folosesc $ bii pentru codificare binar n ambele coduri
alfanumerice descrise mai sus. Combinaiile de cod rmase nefolosite se pot utiliza pentru scopuri
specifice, nestandard, ale diferitelor ec!ipamente. Codul .(CII conine c!iar n setul standardizat
coduri adaptabile la necesitile rii n care este utilizat.
n tabelul urmtor sunt redate o parte din codurile .(CII i E3C5IC, n format !exazecimal:
Coduri numerice 23
Caracter ASCII EBCDIC Caracter ASCII EBCDIC
3lanJ "1 +1 I +? C?
K ") 0. L +. 5)
7 "" /E M +3 5"
N ", /3 4 +C 5,
O "+ 03 2 +5 5+
P "0 0C : +E 50
Q "* 01 F +E 5*
R "/ /5 6 01 5/
% "$ +5 S 0) 5$
' "? 05 = 0" 5?
T ". 0C ( 0, E"
8 "3 +E U 0+ E,
, "C *3 < 00 E+
- "5 *5 V 0* E0
"E +3 W 0/ E*
X "E *) Y 0$ E/
1 ,1 E1 H 0? E$
) ,) E) Z 0. E?
" ," E" [ 03
, ,, E, \ 0C
+ ,+ E+ ] 05
0 ,0 E0 ^ 0E
* ,* E* 0E *1
/ ,/ E/ *1
$ ,$ E$ a *) $)
? ,? E? b *" $"
: ,. /. c *, $,
- ,3 0E d *+ $+
B ,C +C e *0 $0
@ ,5 /E f ** $*
_ ,E *E g */ $/
` ,E *E ! *$ $$
a +1 /C i *? $?
. +) C) > *. ?)
3 +" C" J *3 ?"
C +, C, l *C ?,
5 ++ C+ m *5 ?+
E +0 C0 n *E ?0
E +* C* o *E ?*
G +/ C/ p /1 ?/
b +$ C$ c /) ?$
Caracter ASCII EBCDIC Caracter ASCII EBCDIC
r /" ?? d // .*
s /, ." x /$ ./
t /+ ., & /? .$
u /0 .+ z /. .?
/* .0 /3
2.4 #plicaii
). ( se reprezinte pe un octet numrul zecimal ;$? folosind:
a' reprezentarea prin aloare i semn
24 Coduri numerice
b' reprezentarea prin complement fa de )
c' reprezentarea prin complement fa de "
". ( se reprezinte pe " octei prin complement fa de " urmtoarele numere zecimale:
a' ;)?0
b' ;"+*/
c' ;$$/0+
,. Eie numrul zecimal ))?. ( se reprezinte prin urmtoarele coduri binare ponderate:
a' $+")
b' "+")
c' +"")
d' /+")
+. ( se reprezinte n cod Gra& numerele zecimale:
a' )+
b' ??
c' )1")
0. ( se gseasc corespondena n cod .(CII a urmtoarelor expresii alfanumerice:
a' 7) 8 ) @ "9
b' 7UE(U9
c' 7[%a8b' %a8d'] ; 0 e c B )"19
*. ( se scrie irul de caractere .(CII obinut prin citirea succesi a urmtorilor octei:
))111)11 ))11)111
11)1)1)) 11)1)11)
11)1)111 11))))1)
))111))) 1))1111)
11)1))1) )111))1)
/. ( se scrie irul de caractere definit prin urmtorii octei scrii n cod octal:
)1) ))0
)"0 )1)
)"+ )"+
))/ )*,

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