Sunteți pe pagina 1din 12

Logica matematica.

Algebra booleana

propoziii i valori de adevr


conectori (operatori) logici
(negaia, conjuncia, disjuncia, implicaia, echivalena logic, incompatibilitatea)

expresii n calculul propoziiilor


(predicat, cuantificatori)

axiome i teoreme booleene


funcii logice
(reprezentarea prin tabela de adevr i digrame Karnaugh,
reprezentarea prin echivaleni zecimali ai mintermilor,
expresii analitice (constituient al unitii, constituient al lui zero),
implementarea funciilor logice cu NAND i NOR,
funcii incomplet definite,
minimizarea funciilor logice (metoda analitic metoda Veitch-Karnaugh, metoda Quine-McCluskey))

Codificare. Coduri

codificarea
coduri numerice:
- coduri binare
reprezentarea numerelor fr semn
reprezentarea numerelor cu semn n cod direct, cod invers i cod complementar fa de 2
reprezentarea numerelor n virgul flotant

- coduri zecimal-binare
coduri ponderate (NBCD)
coduri neponderate (binar reflectat, Gray, exces 3, 2 din 5)

- coduri ponderate particulare


coduri alfanumerice

coduri numerice : decimal, hexadecimal, binar, octal, ASCII

Elemente de logica matematica si algebra booleana

n teoria circuitelor numerice i n electronica digital n general, semnalele electrice pot lua numai valori
discrete, n majoritatea cazurilor aceste valori fiind asociate convenional lui 0 " logic i 1 " logic. n limbaj tehnic ne
vom referi la aceste dou valori cu noiunea de "bit" (binary digit ). Bitul se definete n teoria informaiei i este o unitate
de msur a acesteia, echivalent cu informaia transmis prin furnizarea unui mesaj din dou egal probabile.
Se numete propoziie un enun despre care se poate spune c este adevrat sau fals, dar nu i adevrat i fals
simultan. O propoziie se noteaz cu p , q , P , Q .
Dac o propoziie p este adevrat, se spune c are valoarea logic sau de adevr adevrul; aceast valoare de

adevr se noteaz cu simbolul 1 sau a i scriem v( p ) = 1 sau v( p ) = a .

Dac o propoziie p este fals, se spune c are valoarea logic sau de adevr falsul; aceast valoare de adevr

se noteaz cu simbolul 0 sau f i scriem v( p ) = 0 sau v( p ) = f .

Conectori (operatori) logici


Negaia unei propoziii p este propoziia care este fals cnd p este adevrat i este adevrat cnd p este
fals. Se noteaz non p, p ,

p.

Conjuncia a dou propoziii p i q este propoziia care este adevrat dac i numai dac fiecare propoziie

p i q este adevrat. Se noteaz p q , p & q .


Disjuncia a dou propoziii p i q este propoziia care este adevrat dac i numai cel puin una din
propoziiile p i q este adevrat. Se noteaz p q , p sau q .
Implicaia propoziiilor p i q este propoziia care este fals dac i numai dac propoziia p este adevrat i
propoziia q este fals. Se noteaz p q .
Echivalena logic propoziiile p i q sunt echivalente logic dac i numai dac propoziiele p i q sunt
adevrate sau false simultan. Se noteaz p q .
Incompatibilitatea a dou propoziii p i q este propoziia care este adevrat cnd cel puin una dintre
propoziiele p i q este fals i este fals cnd p i q sunt adevrate. Se noteaz p | q .

pq

pq

pq

q p

pq

p|q

0
0
1
1

0
1
0
1

1
1
0
0

0
0
0
1

0
1
1
1

1
1
0
1

1
0
1
1

1
0
0
1

1
1
1
0

Elemente de logica matematica si algebra booleana


Expresii n calculul propoziiilor
Propoziiile p, q, r ,... fiind date cu ajutorul conectorilor logici , ,

, , , | putem forma diferite

asamblaje care se numesc formule ale calcului cu propoziii sau expresii logice. Ele se noteaz cu sau
nlocuind n

( p, q, r ,...) .

pe p, q, r ,... cu diferite propoziii, obinem o alt propoziie, adevrat sau nu, a crei valoare

de adevr se numete valoarea de adevr a expresiei

obinut pentru propoziiile p, q, r ,... respective.

Asupra unei expresii logice se pot efectua transformri logice, cum sunt: transformarea prin inversiune,
reciprocitatea, corelaia sau transformarea identic.
Noiunea de predicat
Se numete predicat sau propoziie cu variabile un enun care depinde de o variabil sau de mai multe variabile i
are proprietatea c pentru orice valori date variabilelor se obine o propoziie adevrat sau o propoziie fals.
Predicatele se noteaz p ( x, y, z ,...) i pot fi unare (de o variabil), binare (de dou variabile), ternare (de trei
variabile), ..., variabilele x, y, z ,... lund valori n mulimi date.
Predicatele p ( x, y, z ,...) , q ( x, y, z ,...) sunt echivalente, dac, oricare ar fi valorile pe care le iau x, y, z ,... n
unul

acelai

domeniu,

p( x, y, z ,...) q( x, y, z ,...) .

propoziiile

corespunztoare

au

aceleai

valori

de

adevr.

Se

noteaza

Cuantificatori
Fie p (x) , cu x M un predicat. Dac exist cel puin un element x M astfel nct propoziia p (x) este

adevrat, atunci scriem xp( x ) , (x ) p ( x ) , (x M ) p ( x ) . Simbolul se numete cuantificator existenial i se


numete exist.
Fie p (x) , cu x M un predicat. Dac propoziia p (x) este adevrat pentru orice element x M , atunci
scriem xp( x ) , (x ) p ( x ) , (x M ) p ( x ) . Simbolul se numete cuantificator universal i se numete oricare ar fi.
Axiome i teoreme booleene

Algebra boolean opereaz pe o mulime B = {x | x {0,1}} . n aceast mulime binar se definesc trei legi de
compoziie:
complementarea (negare, " NU ", "NOT", inversare logic);
disjuncia (suma logic, " + ", "SAU", "OR");
conjuncia (produs logic, " ", "SI", "AND" )
pentru care se dau n continuare tabelele de adevr, simbolurile grafice i implementarea prin contacte.
x
0
0
1
1

y
0
1
0
1

x
1
1
0
0

x+y
0
1
1
1

x*y
0
0
0
1

Toate relaiile definite pe B au un caracter dual, adic relaiile rmn valabile dac se fac schimbrile: + " cu
" i respectiv 0 " cu 1 " (teorema dualitii). n mulimea B se poate alege o structur de ase axiome duale pe baza
crora se definesc teoremele i proprietile care stau la baza algebrei boolene.

Elemente de logica matematica si algebra booleana

Axiome
1. Mulimea B este o mulime nchis: dac X i Y aparin mulimii B atunci X + Y i X Y aparin mulimii B ;
2. Asociativitatea: X + (Y + Z ) = ( X + Y ) + Z i X (Y Z ) = ( X Y ) Z ;
3. Comutativitatea: X + Y = Y + X i X Y = Y X ;
4. Distributivitatea: X + Y Z = ( X + Y ) ( X + Z ) i X (Y + Z ) = X Y + X Z ;
5. Element neutru: X + 0 = 0 + X = X i X 1 = 1 X = X ;
6. Complementul: X + X '= 1 i X X '= 0 ;
Teoreme (proprieti)
7. Idempotena: X + X + .... + X = X i X X .... X = X ;
8. Elemente neutre: X + 1 = 1 i X 0 = 0 ;
9. Involuia: X ' ' = X ;
10. Absorbia: X + X Y = X i X ( X + Y ) = X ;
11. Relaiile lui De Morgan: ( X + Y )' = X 'Y ' i ( X Y )' = X '+Y ' sau

k =1

x =x
k

k =1

x
k =1

= xk
k =1

Perechile de operatori NOT i AND, respectiv NOT i OR formeaz fiecare cte un sistem complet, adic orice
relaie definit pe B poate fi exprimat folosind numai operatorii unei singure perechi.
Circuitul fizic care implementeaz un operator logic se numete poart logic. Sistemele complete prezentate au
fost realizate cu cte o singur poart: SI-NU (NAND, Scheffer) i SAU-NU (NOR, funcie nici" sau funcie Pierce). Un
sistem complet de operatori poate exprima orice relaie logic :

Funcii logice
O funcie f : B B se numete funcie booleana. Altfel spus, o funcie boolean de n variabile
n

y = f ( x1 , x 2 ,..., x n ) , unde xi sunt variabile de intrare, se caracterizeaz prin faptul c att funcia ct i variabilele nu
pot lua dect dou valori distincte, 0 i 1 .
Reprezentarea funciilor logice

Reprezentare prin tabela de adevr


Aceast reprezentare presupune marcarea, ntr-un tabel, a corespondenei dintre valorile de adevr ale
variabilelor de intrare i valoarea de adevr a funciei n fiecare punct al domeniului de definiie.

Elemente de logica matematica si algebra booleana

Reprezentarea prin diagrame Karnaugh


Reprezentarea prin diagrame Karnaugh const n a marca punctele domeniului de definiie ntr-o diagram plan
i a preciza valoarea funciei n fiecare din aceste puncte.

Dac lum n considerare vrful cubului caracterizat prin coordonatele 000, constatm c acest vrf este vecin cu
vrfurile 001, 010, 100. n diagrama Karnaugh constatm c 000 este vecin doar cu 001 i 100. Pentru ca diagrama
Karnaugh s fie echivalent cu reprezentarea prin cub, ea trebuie s pstreze acelai vecinti, lucru ce devine posibil
doar dac ne imaginm latura din stnga a diagramei Karnaugh n continuarea celei din dreapta, iar latura de sus n
continuarea celei de jos. n acest fel, punctul 000 devine vecin i cu punctul 010.
Reprezentarea prin echivaleni zecimali ai mintermilor
Reprezentarea prin echivaleni zecimali ai mintermilor const n indicarea echivalenilor zecimali ai conjunciilor
pentru care valoarea funciei este 1 sau a echivalenilor zecimali corespunztori valorii 0 ale funciei.
Expresii analitice ale funciilor logice
n majoritatea aplicaiilor practice este necesar utilizarea formei analitice a funciilor booleene. n acest scop se
utilizeaz dou forme de dezvoltare:
- forma canonic disjunctiv (FCD) care presupune utilizarea unor funcii elementare numite constitueni ai
unitii (termeni minimali sau mintermi); <=> NAND;
- forma canonic conjunctiv (FCC) care presupune utilizarea unor funcii elementare numite constitueni ai lui
zero (termeni maximali sau maxtermi). <=> NOR.
Constituent al unitii
(n )

Se numete constituent al unitii funcia elementar Qk

caracterizat prin faptul c ia valoarea 1 logic ntr-

un un singur punct al domeniului de definiie. Constituentul unitii va fi produsul logic al tuturor variabilelor negate sau
(n )

nenegate. Pentru ca Qk

s fie 1 ntr-un anumit punct al domeniului de definiie este necesar ca toi termenii
(n )

produsului s fie 1 logic. Aadar rezult urmtoarea regul de scriere a mintermenilor Qk

n conjuncia variabilelor,

variabilele care iau valoarea 0 n n punctul respectiv al domeniului de definiie se vor lua negate, iar cele care iau
valoarea 1 se vor lua nenegate.
Numim conjuncii vecine dou conjuncii care sunt constituite din aceleai variabile i difer doar prin
comlementarea uneia singure. Prin sumarea a dou conjuncii vecine se obine o conjuncie cu un numr de variabile mai
mic cu 1, lipsind variabila a crei complementaritate difer.
Constituent al lui zero
(n )

Se numete constituent al lui zero funcia elementar Dk

care ia valoarea 0 logic ntr-un singur punct al


(n )

domeniului de definiie. Constituentul lui 0 va fi suma logic a tuturor variabilelor negate sau nenegate. Pentru ca Dk

s fie 0 ntr-un un anumit punct al domeniului de definiie este necesar ca toi termenii sumei s fie 0 . Prin urmare
(n )

rezult urmtoarea regul de scriere a maxtermului Dk

n disjuncia variabilelor, variabilele care iau valoarea 0 n

punctul respectiv al domeniului de definiie se vor lua nenegate, iar cele care iau valoarea 1 se vor lua negate.

Elemente de logica matematica si algebra booleana

Disjunciile vecine se definesc n mod similar cu conjunciile vecine. Prin nmulirea a dou disjuncii vecine se
obine o disjuncie avnd o variabil mai puin (dispare acea variabil care i modific complementaritatea).
Implementarea functiilor logice
Implementarea unei funcii logice nseamn realizarea ei cu ajutorul circuitelor (porilor) fundamentale. Se
definete cost al unei implementri numrul de intrri n circuitele fundamentale care realizeaz funcia dat.
Nivelul unei implementri logice se definete ca fiind numrul maxim de circuite pe care le strbate un semnal de
la intrare ctre ieire. n cazurile precedente s-au considerat structuri logice cu dou nivele.
Implementarea cu NAND
(n )
Realiznd Qk cu circuite NAND, funcia f se obine prin cuplarea ieirilor
circuitelor NAND precedente la intrrile unui alt circuit NAND.
Costul implementrii din figura este: C 1 ( f ) = 3 ' 4 + 4 = 16
Implementarea cu NOR
(n )
Funcia f se obine prin cuplarea ieirilor circuitelor NOR ce implementeaz Dk
la intrrile unui alt circuit NOR.
Costul implementrii din figura este: C 2 ( f ) = 3 ' 4 + 4 = 16
Funcii incomplet definite
n unele cazuri, pentru anumite combinaii de variabile de intrare nu este precizat valoarea funciei sau aceste
combinaii nu apar niciodat n sistemul fizic ce materializeaz funcia. Astfel de funcii se numesc funcii incomplet
definite i prezint valori indiferente, pe care n tabelul de adevr le vom nota cu x .
Minimizarea funciilor logice
n proiectarea sistemelor digitale, analiza i sinteza circuitelor numerice se bazeaz pe algebra boolean. Rezult
o legtura fireasc ntre gradul de complexitate al circuitului care se obine i gradul de complexitate al funciei care l
descrie. Din acest motiv, pentru sinteza circuitelor numerice (circuite funcionnd n regim de comutaie), dup etapa de
definire a funciei, urmeaz obligatoriu etapa de minimizare a funciei n scopul obinerii unei forme simplificate (forma
minim).
Minimizarea unei funcii este procedeul prin care, pentru un nivel dat, se obine o expresie care genereaz un
cost minim pentru un numr dat de nivele logice. Implementarea practic a circuitului se realizeaz pe baza formei
minimizate, ceea ce conduce la configuraia optim de circuit.
Exist mai multe metode de minimizare, cteva dintre acestea fiind:
- Metoda analitic se bazeaz pe simplificarea expresiei unei funcii pe baza axiomelor i teoremelor algebrei booleene;
- Metoda Veitch - Karnaugh transpune axiomele i teoremele algebrei booleene pe reprezentarea funciei cu diagrame
Karnaugh. O diagram Karnaugh poate fi privit ca o reprezentare a funciei booleene, dac se au n vedere produsele
logice ale coordonatelor, prin mintermi , aa cum se observa n reprezentarea care urmeaz.
x2 \ x1 x0

00

01

11

10

x 2 'x 1 'x 0 '

x 2 'x 1 'x 0

x 2 'x 1 x 0

x 2 'x 1 x 0 '

x 2 x 1 'x 0 '

x 2 x 1 'x 0

x2x1x 0

x2x1x 0'

Fiecare celul din diagram conine un minterm. Dou celule vecine conin mintermi care difer prin valoarea
unei singure variabile. Prin adunarea mintermilor din dou celule vecine se elimin variabila care i schimb valoarea.
Aceasta permite simplificarea expresiei funciei care se obine i implicit simplificarea structurii logice corespunztoare.
FCD se obine prin sumarea mintermilor pentru care funcia ia valoarea 1 . Prin gruparea celulelor vecine pentru
care valoarea funciei este 1 se obin x 2 x 1 , x 2 x 0 , x 1 x 0 (prin eliminarea variabilelor care i schimb valoarea n cadrul
aceleiai grupri). Fiecare celul ocupat de valoarea 1 trebuie s fac parte din cel puin o grupare, dar poate fi inclus n

Elemente de logica matematica si algebra booleana

mai multe grupri. Dac un grup de dou celule vecine este vecin la rndul sau cu un alt grup de dou celule vecine,
acestea se pot contopi ntr-un singur grup de patru celule vecine, ceea ce va permite eliminarea a dou variabile. n
general, un grup de 2m celule vecine ocupate de uniti permite eliminarea a m variabile. Cel mai avansat grad de
simplificare se obine dac valorile 1 dintr-o diagram Karnaugh sunt grupate ntr-un numr minim de grupuri, fiecare
grup coninnd un numr maxim de uniti.
Pentru minimizarea funciilor scrise sub form conjunctiv, n diagrama Karnaugh se vor considera disjunciile
corespunztoare valorilor 0 ale funciei i se va urma o procedur asemntoare cu cea folosit la forma disjunctiv.
Metoda const n cuplarea de disjuncii vecine din care va disprea termenul corespunztor bitului ce se modific, n
echivalenii binari.
n cazul funciilor incomplet definite, valorile indiferente ale funciei se iau 1 pentru forma disjunctiv i 0
pentru forma conjunctiv dac aceste valori particip la minimizare. Valorile indiferente care nu sunt cuplate devin 0
pentru forma disjunctiv i 1 pentru forma conjunctiv. Considerarea valorilor indiferente determin simplificarea formei
funciei care se obine n sensul reducerii numrului de variabile.
- Metoda Quine McCluskey se folosete pentru funcii care depind de multe variabile; pentru funcii ce depind de mai
mult de 5 variabile, metoda Veitch - Karnaugh devine greoaie i se prefer metoda Quine - McCluskey.
n cazul formei disjunctive, minimizarea prin aceast metod presupune parcurgerea etapelor prezentate n
continuare:
1) Ordonarea echivalenilor binari ai conjunciilor corespunztoare valorilor 1 ale funciei dup pondere.
Lem: Pentru dou conjuncii vecine ponderile difer cu o unitate.
2) Determinarea implicanilor primi prin comparaii succesive ale echivalenilor binari.
Se numete implicant prim al unei funcii un termen al acesteia care nu se mai poate reduce. Pentru
determinarea implicanilor primi se cupleaz echivalenii binari care difer doar printr-o cifr din acelai rang. Se obine
astfel primul tabel de comparaii n care dispariia variabilei corespunztoare cifrei care se modific se noteaz cu -". n
continuare, se pot cupla dou conjuncii din grupe vecine dac simbolul -" se afla n acelai rang i echivalenii binari
difer doar printr-o cifr din acelai rang. Rezult al doilea tabel de comparare i procedura se repet. Conjuncia care nu
se mai poate cupla cu nici o alt conjuncie din tabel este un implicant prim al funciei date.
3) Determinarea tabelului de acoperire al funciei Tabelul de acoperire este un tablou rectangular, la care liniile
corespund implicanilor primi, iar coloanele corespund echivalenilor zecimali ai conjunciilor pentru care funcia ia
valoarea 1. Tabloul se completeaz cu 1 n poziiile pentru care conjunciile de pe coloane realizeaz implicanii primi de
pe linii.
4) Calculul formal de determinare a tuturor soluiilor funciei Fiecrui implicant prim X i se ataeaz o variabil
logic F x care ia valoarea 1 cnd implicantul prim este realizat (conform tabelului de acoperire). Pentru realizarea funciei
este necesar ca n expresia ei s existe toate conjunciile corespunztoare valorilor 1 ale funciei. Pentru determinarea
tuturor soluiilor funciei, se exprim aceast cerin cu ajutorul variabilelor F x .
n cazul formei conjunctive a funciilor, procedura este similar, dar se vor considera valorile 0 ale funciei i
disjunciile corespunztoare.
Metoda Quine McCluskey se preteaz implementrii automate a sistemelor numerice. Algoritmul bazat pe
aceast metod poate fi transpus n aplicaii software care determin automat structura logic a circuitului.

Codificare

Prin codificare se realizeaz o schimbare a formei de exprimare a unei informaii. Dac X = x1 ,..., x p

} este

mulimea simbolurilor primare care urmeaz a fi codificate prin intermediul unor simboluri elementare aparinnd unei
mulimi de elemente B = {b1 ,..., bn } , prin codificare se asociaz fiecrui element xi X o secven de simboluri

b j B astfel nct modelul de codificare va fi reprezentat de corespondena biunivoc:


x 1 <-> b 1 b 2 b 3 = S 1
x 1 <-> b 2 b 5 b 6 b 7 = S 2
...............................
x p <-> b 1 b 3 b 1 = S p
Cuvintele de cod formeaz o mulime S = s1 ,..., s p . Codificarea este o aplicaie de forma f : X S .

Codul se numete uniform dac toate cuvintele s i s i care aparin mulimii S au aceeai lungime. n electronica digital,

B = {0,1}, deci cuvintele mulimii S sunt cuvinte binare de o anumit lungime, n general 8 (octet sau byte), 16, 24, 32
sau 64 de bii.
Informaia primar poate fi compus numai din simboluri numerice, sau att din simboluri numerice, ct i
simboluri literale i semne de ortografie. Se obin astfel dou tipuri de coduri: coduri numerice, respectiv coduri
alfanumerice.
Coduri numerice

Prin intermediul cuvintelor binare se pot codifica numere din sistemele de numeraie binar, zecimal, octal,
hexazecimal etc., rezultnd coduri binare, zecimal - binare, octal - binare, hexazecimal - binare etc.
Coduri binare
I. Reprezentarea numerelor fr semn Corespondena ntre un numr binar i un cuvnt de cod binar poate fi
chiar identitate, deci cuvntul de cod este chiar numrul respectiv. Virgula nu se reprezint fizic, dar utilizatorul trebuie s

tie ntre ce bii ai cuvntului este localizat. Gama numerelor reprezentate este x = 0,2 2
n

]. n multe cazuri,

numerele din acest domeniu se scaleaz prin mprire la 2 ; virgula binar va fi poziionat n faa bitului cel mai

semnificativ, iar gama reprezentabil va deveni: x = 0,1 2


virgul fix.

nm

]. Aceste reprezentri se numesc numere fracionare n

II. Reprezentarea numerelor cu semn Prin convenie, + " se reprezint prin 0 , iar " prin 1 . Din cei n bii
folosii pentru partea ntreag, primul (bitul bn 1 ) va fi folosit pentru reprezentarea semnului. Exist trei forme uzuale
pentru reprezentarea numerelor cu semn, forme descrise n continuare.
a) cod direct (n modul i semn)

[(

2 m ,2 n 1 2 m . Prin scalare (mprire la 2 n1 ), virgula se va situa imediat dup


( n 1) m
bitul de semn, iar gama de reprezentare va deveni: x 1 2
,1 2 (n1)m .

Gama de reprezentare: x 2

n 1

[(

b) cod invers (n complement fa de 1)

Regula de inversare a unui numr negativ este urmtoarea: se complementeaz toti biii din reprezentarea n valoare
absolut i se ataeaz 1 n rangul semn:

[(

n 1

Gama de reprezentare: x 2 2 ,2
c) cod complementar fa de 2

Codificare
n 1

[(

2 m . Prin scalare: x 1 2 (n1)m ,1 2 (n1)m

Regula de complementare a unui numr negativ este urmtoarea: se inverseaz cifrele binare ale numrului n valoare
absolut, se sumeaz valoarea 1 la rangul -m i se ataeaz 1 n rangul semn:

O alt regul de complementare este i cea care urmeaz: codul complementar al unui numr negativ se obine
prin inversarea biilor din reprezentarea n valoare absolut ncepnd cu primul bit 1 (exclusiv) ntlnit prin parcurgerea

numrului de la dreapta la stnga, atandu-se apoi 1 n rangul semn. Gama de reprezentare este x 2

iar prin scalare gama de reprezentare va fi: x 1,1 2

].

( n 1) m

n 1

,2 n1 2 m ,

Exemple:
x = -1011,1100
x d = 11011,1100
x i = 10100,0011
x c = 10100,0100
Toate codificrile scalate, cu virgula binar situat imediat dup bitul de semn, se numesc reprezentri n virgul fix.
III. Reprezentarea numerelor n virgul flotant Un numar rational x se reprezinta prin doua numere binare: x =
M 2 E , unde: M - mantis (numr fracionar cu semn; m bii) i E - exponent (numr ntreg cu semn; n bii). Dac m are

2 n 1 1

2 n 1 1

numai parte fracionar, gama de reprezentare este: x 2


, unde s-a presupus E reprezentat n
,2
complement fa de 2.
Pentru mrirea preciziei calculelor, mantisa se normeaz dup fiecare operaie aritmetic, astfel nct cifra binar de
dup virgul a modulului mantisei s fie nenul.
Exemplu: 0,001011 210 = 0,1011 28 .
Coduri zecimal - binare
n cadrul acestei clase, X = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }. Mulimea S trebuie s conin 10 cuvinte distincte, deci
pentru codificare sunt necesari minimum 4 bii (23<10<24). Cu aceti 4 bii se pot forma 16 cuvinte de cod distincte, deci
exist posibiliti de codificare. n practic se folosesc anumite variante, cele mai importante fiind prezentate n
continuare.
I. Coduri ponderate Un cod ponderat asociaz fiecarei cifre zecimale o tetrad binar, ponderea fiecarui bit din
tetrad fiind egal cu valoarea cifrei din denumirea codului. Fie X 0, 1, . , 9 si z (x) = (y 3 y 2 y 1 y 0 ) (2) . Fiecarei cifre binare
(bit) y j , j = 1, 2, 3, i se ataeaz o pondere p j astfel nct: x =

y
k =0

pk . Cteva coduri ponderate sunt 8421, 2421, 4221,

7421. n codul 8421 , cuvintele de cod sunt numere succesive n sistemul binar natural i din acest motiv, codul se mai
numete cod zecimal-binar natural (NBCD). Codurile 2421 i 4221 au pentru primele 4 cifre zecimale aceeai exprimare ca
i codul 8421. Codul pentru 5 se obine inversnd codul pentru 4; la fel se obine 6 din 3, 7 din 2, 8 din 1 i 9 din 0.
Codurile cu aceast proprietate se numesc coduri autocomplementare.
II. Coduri neponderate Exemple de coduri neponderate sunt: codul binar reflectat, codul 8421 cu bit de paritate,
codul exces 3, codul 2 din 5 .
Codul "binar reflectat" se obine prin "reflectri repetate" a codurilor pe n-1 ranguri, adugnd bii 0 ntr-unul
din domenii i bii 1 n cellalt domeniu (cele 2 domenii sunt separate prin planul de oglindire). Exemple de coduri "binar
reflectate" sunt codul Gray si codul Gray nchis.

Codificare

Codul Gray prezint proprietatea de adiacen: trecerea de la o cifr zecimal la urmatoarea se face prin
modificarea unui singur bit din cuvntul de cod. Acest cod este util n cazul mrimilor ce cresc succesiv.
n mediile puternic influenate de zgomot, verificarea transmiterii corecte a informaiilor se face prin folosirea
codurilor detectoare de erori. n codul 8421 cu bit de paritate, fiecare cuvnt de cod are un numr par sau impar de bii 1.
La emisie se adaug un bit 1 sau un bit 0 astfel nct numrul de bii 1 s fie par sau impar. La recepie se numr biii 1,
numrul acestora putnd indica dac au aprut erori constnd n modificarea unui numr impar de bii din structura
cuntului binar.
Codul exces 3 se obine din codul 8421 la care se adun 3 = 0011. n acest fel se poate face distincie ntre 0 i
lipsa informaiei (zero este codificat prin 0011 i nu prin 0000, fiind numit uneori zero viu").
Codul 2 din 5 se caracterizeaz printr-un cuvnt de cod de 5 bii, din care numai doi bii sunt 1. Se realizeaz
astfel o unicitate a reprezentrii deoarece numai 10 din cele 32 de configuraii posibile pe 5 bii satisfac aceast condiie.
Prin folosirea acestui cod se pot detecta erorile multiple aprute la transmiterea informaiei.
Coduri ponderate particulare
Codul ponderat 8421 este cel mai rspndit fiind particularizat pentru reprezentarea cifrelor in diverse baze de
numeraie. Deoarece fiecare bit are ponderea numrului n binar i cuvintele de cod sunt chiar numerele succesive n
sistemul binar natural, acest cod se mai numete cod zecimal binar natural (NBCD, Natural Binary Coded Decimal). El
cuprinde cifrele binare de la 0 la 10. Atunci cand codifica toate combinatiile binare pe 4 biti este numit cod BCD (Binary
Coded Decimal). n funcie de baza de numeraie a numrului care trebuie codificat putem avea i alte tipuri de coduri
(octal-binar, hexazecimal-binar).
Codul octal-binar realizeaz corespondena biunivoc ntre cifrele sistemului de numeraie n baza 8 i triadele
binare succesive.
Codul hexazecimal - binar realizeaz corespondena biunivoc ntre cifrele sistemului de numeraie n baza 16 i
tetradele binare succesive corespunztoare.
Coduri alfanumerice
n cazul acestor coduri, mulimea X informaiilor primare este format din cifre, litere, semne ortografice,
comenzi speciale, denumite n general caractere. Codificarea datelor alfanumerice este necesar pentru vehicularea
diferitelor mesaje. Trebuie codificate minim 88 caractere distincte (2 x 6 litere, 10 cifre, 26 de caractere speciale), deci
sunt necesari minimum 7 bii.
Cel mai rspndit cod alfanumeric este codul ASCII ( American Standard Code for Information Interchange). Codul
ASCII codific 128 de caractere (cele 52 de litere, majuscule i minuscule, ale alfabetului englez, cele 10 cifre zecimale,
caractere speciale i caractere de comand).
Codul EBCDIC (Extended Binary Coded Decimal Interchange Code) codific 136 de caractere. Exist caractere
ASCII care nu au corespondent EBCDIC i invers.
Codul ASCII, datorit succesiunii caracterelor majuscule i minuscule, poate fi utilizat pentru ordonri alfabetice.
Exemplu: caracterul ?" n ASCII are codul 3F, iar n EBCDIC are codul 6F. Deasemenea, caracterele 0", A", a" au
reprezentrile ASCII 30, 41, 61 iar cele EBCDIC F0, C1, 81.

Dec Hex

Binar

Octal

00

0000.0000

000

NULL char

ASCII

01

0000.0001

001

02

0000.0010

03

0000.0011

Dec Hex

Binar

Octal

ASCII

51

33

0011.0011

063

Start Of Heading

52

34

0011.0100

064

002

Start of TeXt

53

35

0011.0101

065

003

End of TeXt

54

36

0011.0110

066

04

0000.0100

004

End Of Transmission

55

37

0011.0111

067

05

0000.0101

005

ENQuiry

56

38

0011.1000

070

06

0000.0110

006

ACKnowledgement

57

39

0011.1001

071

07

0000.0111

007

BELL

58

3A

0011.1010

072

08

0000.1000

010

BackSpace

59

3B

0011.1011

073

09

0000.1001

011

HorizontalTab

60

3C

0011.1100

074

<

10

0A

0000.1010

012

LineFeed

61

3D

0011.1101

075

=
>

11

0B

0000.1011

013

VerticalTab

62

3E

0011.1110

076

12

0C

0000.1100

014

FormFeed

63

3F

0011.1111

077

13

0D

0000.1101

015

CarriageReturn

64

40

0100.0000

100

14

0E

0000.1110

016

ShiftOut / x-on

65

41

0100.0001

101

15

0F

0000.1111

017

ShihtIn / x-off

66

42

0100.0010

102

16

10

0001.0000

020

DataLineEscape

67

43

0100.0011

103

17

11

0001.0001

021

DeviceControl1

68

44

0100.0100

104

18

12

0001.0010

022

DeviceControl2

69

45

0100.0101

105

19

13

0001.0011

023

DeviceControl3

70

46

0100.0110

106

20

14

0001.0100

024

DeviceControl4

71

47

0100.0111

107

21

15

0001.0101

025

NegativeAcKnowledgement

72

48

0100.1000

110

22

16

0001.0110

026

SYNchronous idle

73

49

0100.1001

111

23

17

0001.0111

027

EndOfTransmitBlock

74

4A

0100.1010

112

24

18

0001.1000

030

CANcel

75

4B

0100.1011

113

25

19

0001.1001

031

EndOfMedium

76

4C

0100.1100

114

L
M

26

1A

0001.1010

032

SUBstitute

77

4D

0100.1101

115

27

1B

0001.1011

033

ESCape

78

4E

0100.1110

116

28

1C

0001.1100

034

FileSeparator

79

4F

0100.1111

117

29

1D

0001.1101

035

GroupSeprator

80

50

0101.0000

120

81

51

0101.0001

121

82

52

0101.0010

122

83

53

0101.0011

123

30

1E

0001.1110

036

RecordSeparator

31

1F

0001.1111

037

UnitSeparator

32

20

0010.0000

040

33

21

0010.0001

041

84

54

0101.0100

124

34

22

0010.0010

042

"

85

55

0101.0101

125

35

23

0010.0011

043

86

56

0101.0110

126

36

24

0010.0100

044

87

57

0101.0111

127

37

25

0010.0101

045

88

58

0101.1000

130

38

26

0010.0110

046

&

89

59

0101.1001

131

39

27

0010.0111

047

'

90

5A

0101.1010

132

40

28

0010.1000

050

91

5B

0101.1011

133

41

29

0010.1001

051

92

5C

0101.1100

134

42

2A

0010.1010

052

93

5D

0101.1101

135

43

2B

0010.1011

053

94

5E

0101.1110

136

44

2C

0010.1100

054

95

5F

0101.1111

137

45

2D

0010.1101

055

96

60

0110.0000

140

46

2E

0010.1110

056

97

61

0110.0001

141

47

2F

0010.1111

057

98

62

0110.0010

142

48

30

0011.0000

060

99

63

0110.0011

143

49

31

0011.0001

061

100

64

0110.0100

144

50

32

0011.0010

062

101

65

0110.0101

145

Dec Hex

Binar

Octal ASCII

Dec Hex

Binar

Octal ASCII

Dec Hex

Binar

Octal ASCII

102

66

0110.0110

146

154

9A

1001.1010

232

206

CE

1100.1110

316

103

67

0110.0111

147

155

9B

1001.1011

233

207

CF

1100.1111

317

208

D0

1101.0000

320

209

D1

1101.0001

321

104

68

0110.1000

150

156

9C

1001.1100

234

105

69

0110.1001

151

157

9D

1001.1101

235

106

6A

0110.1010

152

158

9E

1001.1110

236

210

D2

1101.0010

322

107

6B

0110.1011

153

159

9F

1001.1111

237

211

D3

1101.0011

323

108

6C

0110.1100

154

160

A0

1010.0000

240

212

D4

1101.0100

324

109

6D

0110.1101

155

161

A1

1010.0001

241

213

D5

1101.0101

325

110

6E

0110.1110

156

162

A2

1010.0010

242

214

D6

1101.0110

326

111

6F

0110.1111

157

163

A3

1010.0011

243

215

D7

1101.0111

327

112

70

0111.0000

160

164

A4

1010.0100

244

216

D8

1101.1000

330

113

71

0111.0001

161

165

A5

1010.0101

245

217

D9

1101.1001

331

114

72

0111.0010

162

166

A6

1010.0110

246

218

DA

1101.1010

332

115

73

0111.0011

163

167

A7

1010.0111

247

219

DB

1101.1011

333

116

74

0111.0100

164

168

A8

1010.1000

250

220

DC

1101.1100

334

117

75

0111.0101

165

169

A9

1010.1001

251

221

DD

1101.1101

335

118

76

0111.0110

166

170

AA

1010.1010

252

222

DE

1101.1110

336

119

77

0111.0111

167

171

AB

1010.1011

253

223

DF

1101.1111

337

120

78

0111.1000

170

172

AC

1010.1100

254

224

E0

1110.0000

340

121

79

0111.1001

171

173

AD

1010.1101

255

225

E1

1110.0001

341

122

7A

0111.1010

172

174

AE

1010.1110

256

226

E2

1110.0010

342

123

7B

0111.1011

173

175

AF

1010.1111

257

227

E3

1110.0011

343

124

7C

0111.1100

174

176

B0

1011.0000

260

228

E4

1110.0100

344

125

7D

0111.1101

175

177

B1

1011.0001

261

229

E5

1110.0101

345

178

B2

1011.0010

262

230

E6

1110.0110

346

179

B3

1011.0011

263

231

E7

1110.0111

347

126

7E

0111.1110

176

127

7F

0111.1111

177

~
DELete

128

80

1000.0000

200

129

81

1000.0001

201

130

82

1000.0010

202

180

B4

1011.0100

264

232

E8

1110.1000

350

181

B5

1011.0101

265

233

E9

1110.1001

351

182

B6

1011.0110

266

234

EA

1110.1010

352

131

83

1000.0011

203

183

B7

1011.0111

267

235

EB

1110.1011

353

132

84

1000.0100

204

184

B8

1011.1000

270

236

EC

1110.1100

354

133

85

1000.0101

205

185

B9

1011.1001

271

237

ED

1110.1101

355

134

86

1000.0110

206

186

BA

1011.1010

272

238

EE

1110.1110

356

135

87

1000.0111

207

187

BB

1011.1011

273

239

EF

1110.1111

357

136

88

1000.1000

210

188

BC

1011.1100

274

240

F0

1111.0000

360

137

89

1000.1001

211

189

BD

1011.1101

275

241

F1

1111.0001

361

138

8A

1000.1010

212

190

BE

1011.1110

276

242

F2

1111.0010

362

139

8B

1000.1011

213

191

BF

1011.1111

277

243

F3

1111.0011

363

140

8C

1000.1100

214

192

C0

1100.0000

300

244

F4

1111.0100

364

141

8D

1000.1101

215

193

C1

1100.0001

301

245

F5

1111.0101

365

142

8E

1000.1110

216

143

8F

1000.1111

217

144

90

1001.0000

220

145

91

1001.0001

221

194

C2

1100.0010

302

246

F6

1111.0110

366

195

C3

1100.0011

303

247

F7

1111.0111

367

196

C4

1100.0100

304

248

F8

1111.1000

370

197

C5

1100.0101

305

249

F9

1111.1001

371

146

92

1001.0010

222

198

C6

1100.0110

306

250

FA

1111.1010

372

147

93

1001.0011

223

199

C7

1100.0111

307

251

FB

1111.1011

373

148

94

1001.0100

224

200

C8

1100.1000

310

252

FC

1111.1100

374

149

95

1001.0101

225

201

C9

1100.1001

311

253

FD

1111.1101

375

150

96

1001.0110

226

202

CA

1100.1010

312

254

FE

1111.1110

376

151

97

1001.0111

227

203

CB

1100.1011

313

255

FF

1111.1111

377

152

98

1001.1000

230

204

CC

1100.1100

314

153

99

1001.1001

231

205

CD

1100.1101

315

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