Sunteți pe pagina 1din 25

3.

5 Coduri binar-zecimale
3.5.1 Generalitati
Cod binar-zecimal = un cod la care fiecare cifra zecimala este reprezentata ca si o combinatie de
cifre binare.
In cadrul codului, se asociaza o combinatie binara unica fiecarei cifre zecimale pentru a obtine o
codificare corecta => pentru a codifica toate cele 10 cifre zecimale sunt necesare 10 combinatii
binare distincte. Se va considera cazul cand toate combinatiile binare dintr-un anumit cod binar-
zecimal au aceeasi lungime n (numar identic de biti).
Deoarece se pot genera 2n combinatii distincte atunci cand se utilizeaza n biti, trebuie sa fie
indeplinita urmatoarea conditie atunci cand se genereaza un cod binar-zecimal :
2n>10 (3.35) => n>log210 (3.36)
Inseamna ca valoarea minima este n=4 => lungimea minima admisa pentru combinatiile
corespunzand unui cod binar zecimal este 4.
Se pot genera multe coduri binar-zecimale distincte pentru n=4 (C 1610), dar in practica se
considera doar un numar redus de coduri datorita trasaturilor lor specifice utile.
Se considera o cifra zecimala c ∈{0,1,2,3,4,5,6,7,8,9} , reprezentata intr-un cod binar-zecimal ca
c=bn-1...bk...b0 si pk ponderea asociata bitului bk.
Un cod binar-zecimal este ponderat daca:
(3.37)
n 1
Def. Un cod binar-zecimal ponderat este auto-complementar daca:
p
k 0
k
9

Teorema:
Consideram reprezentarea unei cifre zecimale c intr-un cod binar-zecimal c=bn-1...bk...b0 Spunem
ca cifra c este reprezentata in cod auto-complementar daca reprezentarea cifrei c*, unde c*=9-
c este obtinuta prin complementarea bitilor sai din reprezentarea lui c. Inseamna ca:

(3.39)

unde
(3.40)
Demonstratie:
Daca c=bn-1...bk...b0 si codul utilizat este auto-complementar, din (3.39) se obtine:
9-c= (3.41)
Codul este ponderat, deci, considerind relatiile (3.37) si (3.41) se obtine:
9-c= (3.42)

Substituind (3.40) in (3.42) se obtine:

9-c= =>
Reciprocitate

Daca prin ipoteza , atunci:

S-a demonstrat ca avem un cod auto-complementar si ponderat.


3.5.2 Exemple de coduri binar-zecimale
Codurile discutate anterior au fost selectate datorita utilizarii lor in sisteme de calcul si
respectiv datorita proprietatilor interesante demonstrate de ele.
A. Codul binar-zecimal 8421
Codul „8421” (cunoscut si sub numele de cod natural binar-
zecimal –binary-decimal code - BCD) este un cod binar-
zecimal reprezentat pe 4 biti. Este ponderat cu ponderi
naturale. Numele codului este dat de ponderile bitilor.
Probabil este cel mai utilizat cod la ora actuala.
O combinatie a acestui cod este determinata ca si
echivalent binar pe 4 ranguri al cifrei zecimale
corespunzatoare. In fig. se prezinta combinatiile codului.

Cunoscand o combinatie b3b2b1b0 din cod, cifra zecimala corespunzatoare se determina


cu:
c=8b +4b +2b +b (3.43)
B. Codul binar-zecimal Exces 3
Codul binar-zecimal Exces 3 este un cod auto-
complementar, neponderat care foloseste 4 biti. El apartine
unei clase de coduri binar-zecimale denumita Exces N.
Combinatia din cod pentru o cifra zecimala c este
determinata ca si combinatia BCD pe 4 ranguri a nr-lui c+3.
Cunoscand o combinatie reprezentata in codul Exces 3 ca
b3b2b1b0, cifra corespunzatoare este determinata cu:
c=8b3+4b2+2b1+b0-3 (3.44)

C. Codul binar-zecimal GRAY


Codul binar-zecimal GRAY, apartinand unei familii mai mari de coduri GRAY, este un
cod neponderat care foloseste 4 biti. Proprietatea principala a codurilor din aceasta
familie se poate formula astfel: pentru oricare doua cifre zecimale consecutive,
combinatiile de cod care le corespund difera printr-o singura pozitie.
Pentru a determina combinatia din cod g3g2g1g0 pentru o cifra zecimala c, se porneste
de la combinatia b3b2b1b0 din codul 8421 pentru c si se folosesc relatiile:

unde reprezinta operatorul „suma modulo 2” (de fapt XOR-ul) .


D. Codul binar-zecimal JOHNSON
Codul binar-zecimal JOHNSON este neponderat si foloseste 5
biti. Mai este denumit si „ cod binar-zecimal rasucit in inel”
sau„shift-counter” (vezi cartea FUNDAMENTALS OF DIGITAL
CIRCUITS de A. ANAND KUMAR) ) considerand lista de
combinatii de cod.

Considerind cazul general (un Johnson pe n biti), se pot genera

2 * n combinatii. De aceea este nevoie de 5 biti (10/2!) pentru a


genera combinatiile care corespund la 10 cifre.
Codul binar-
zecimal GRAY
E. Coduri “M din N”
Codul binar-zecimal 2 din 7 reprezinta un cod binar-zecimal pe 7 biti, neponderat,
apartinand unei familii mai mari de coduri cunoscuta sub numele „M din N”.
Utilizarea acestor coduri este legata de nevoia de a imbunatati protectia informatiei
relativ la perturbatiile care ar putea aparea in procesele asociate transmisiei datelor.
<<„Principles of Logistics N4 de C. G. Nel si Van Devente”>>
Paritatea de tip par (TOATE COMBINATIILE AU 2 BITI) se
foloseste pentru detectarea erorilor. Fiecare grup de 7 biti
este impartit in doua sectiuni: una de 2 biti, cealalta de 5.
Sectiunea de 2 biti se utilizeaza pentru a afla daca in
sectiunea de 5 biti se afla o valoare mai mare, respectiv strict
mai mica decat 5..

O alternativa care foloseste doar 5 biti = 2 din 5


(FUNDAMENTALS OF DIGITAL CIRCUITS, By A. ANAND
KUMAR)
3.6. Reprezentarea numerelor binare cu semn
3.6.1 Principiile reprezentarii
Sistemul de numeratie binar se utilizeaza in sistemele de calcul moderne, chiar daca nu
este un sistem de numeratie optimal. Pana in acest moment, au fost abordate doar
reprezentari de numere fara semn.
Dar calculatorul este un echipament fizic, unde nu se pot stoca reprezentari cu un numar
infinit de simboluri, a.i. trebuie efectuate trunchieri ale informatiei.
Datorita numerelor din ce in ce mai mari care trebuiesc reprezentate si complexitatii in
continua crestere a operatiilor care le implica, precum si datorita cerintelor din ce in ce
mai drastice relativ la viteza, s-a impus utilizarea a doua formate de reprezentare:
-Formatul cu virgula fixa VF. La acesta, separatorul intre partea intreaga si cea
fractionara are o pozitie fixa in formatul specificat.
- Formatul cu virgula mobila (VM). La acesta, numarul dat (considerat in baza b) este
reprezentat folosind o parte semnificativa m (sinonime: coeficient sau mantisa) si un
exponent e (sinonime: caracteristica sau scara) . Numarul se considera ca fiind scris
sub forma mbe, unde b reprezinta radacina (baza) sistemului de numeratie .
O alta problema legata de utilizarea sistemului binar: nu permite reprezentarea
DIRECTA a numerelor negative. Se impune deci o reprezentare CODIFICATA a
numerelor cu semn.
Codificarea implica:
- reprezentarea semnului si
- reprezentarea valorii numarului.
Au fost concepute cateva alternative pentru codificare. Doar doua dintre acestea au mai
ramas de actualitate. IN CELE CE URMEAZA SE VOR DISCUTA DOAR
REPREZENTARILE IN VIRGULA FIXA.
Se considera un numar binar cu semn N:
N = bn-1bn-2 …b1b0 , b-1 …b- m (3.45)
Codificarea semnului se poate face folosind un “bit de semn” (bs) , conform regulii:
bs=0 pentru numere pozitive; bs=1 pentru numere negative.
Deoarece separatorul dintre partea intreaga si cea fractionara are o pozitie FIXA,
CUNOSCUTA, reprezentarea sa explicita nu are sens.
In aceste conditii, un numar N a carui parte intreaga este reprezentata pe n biti si cea
fractionara pe m biti se va reprezenta astfel:
N = bsbn-1 …b1b0b-1 …b-m (3.46)
Un caz particular este legat de reprezentarea numerelor intregi:
Exemplu: Se reprezinta numarul - 97 in format cu virgula fixa , cu lungimea 7+1 .
Reprezentarea sa binara este 11100001. Reprezentarea in formatul impus va fi deci:

Valoarea numarului se poate reprezenta folosind 3 coduri diferite: : (a) cod direct; (b)
cod complementar; (c) cod invers.

3.6.2 Reprezentarea in cod direct


In cod direct, valoarea numarului se reprezinta in valoare absoluta.
Bitul de semn nu are nicio pondere si poate fi plasat in orice pozitie in numar. In mod
traditional insa, el reprezinta bitul cel mai semnificativ (cea mai din stanga pozitie),
respectand regulile de codificare prezentate mai sus.
Exemplu:
Vom reprezenta numerele +105 si -105 considerind formatul cu virgula fixa si lungimea
1+7.
Echivalentul binar al valorii absolute pentru ambele numere este 1101001.
Reprezentarea in cod direct in formatul impus este:

+105 -105
3.6.2 Reprezentarea in cod complementar
3.6.2.1 Complementul fata de 1 al unui numar binar
Se considera N, un numar binar reprezentat pe n ranguri intregi si m ranguri fractionare:
N = bn-12n-1+bn-22n-2+...+b121+b0+b-12-1+...+b-m2-m
adica
n 1
N b 2
i  m
i
i (3.48)

Complementul fata de 1 al numarului N, simbolizat prin , este un numar scris in


aceeasi forma si obtinut prin complementarea fiecarui bit din numarul initial.
n 1
(3.49)
N b 2
im
i
i

n 1 n 1 n 1 n 1
Rezulta ca: N  bi 2 
im
i
 ( 1-bi )2 
im
i
2 
im
i
i
b 2
im
i
 2 n
 2 m
N

Explicatie: Suma unei serii geometrice: Aici r=2, a=-m, b=n-1.


Suma=(2-m-2n)/(-1))

Atunci: N  2 n  N  2  m (3.50)

Proprietate: ( N )  N (deoarece b b (3.51)


Schema bloc a unui echipament care lucreaza pe 8 biti si care calculeaza complementul
relativ la 1 daca intrarea are 8 biti se prezinta in Fig. 3.1 iar schema de principiu este in
Fig. 3.2.

Fig. 3.1

Fig. 3.2
3.6.2.2 Complementul fata de 2 al unui numar binar
Complementul fata de 2 al unui numar binar N (notat prin N ) , se poate reprezenta in
acelasi format ca si numarul N si se poate calcula cu :
N  2n  N (3.52)

Proprietatea 1 :( N )  N (3.53)

Proprietatea 2 (vezi 3.50): m


(3.54)
N  N 2
Schema bloc a echipamentului care furnizeaza complementul fata de 2 al unui numar
intreg binar pe 8 biti este prezentata in Fig. 3.3. Schema de principiu (Fig. 3.4.) se
bazeaza pe ec. (3.54).

Fig. 3.4
Fig. 3.3
Pentru oameni calculul complementului fata de 2 se obtine mai simplu considerand
urmatorul algoritm:
- Se analizeaza toti bitii, plecand de la dreapta la stanga. Primii biti egali cu 0 si respectiv
primul egal cu 1 se pastreaza in forma initiala.
- Dupa aceea toti bitii catre stanga se complementeaza.

Exemplu: Se considera numarul intreg fara semn N=011100011001000. Considerand


algoritmul de mai sus, se obtine:

3.6.2.3 Reprezentarea cu virgula fixa, cod complementar


Se considera un numar cu semn N , a carui valoare absoluta este:
|N|= bn-12n-1+bn-22n-2+…+b121+b0+b-12-1+…+b-m2-m

Atunci cand se reprezinta bitul de semn in cod complementar, acesta are ponderea -2n
si de aceea se plaseaza in mod obligatoriu ca cel mai semnificativ bit al numarului.
Reprezentarea unui numar in cod complementar se face conform regulii:

(3.55)
In cele ce urmeaza se vor studia numai numere binare intregi, si de aceea se vor face
urmatoarele observatii:
1. Bitul de semn are ponderea -2n
2. Se accepta o singura reprezentare pentru 0 , si anume
000 …0.
3. Prin conventie, combinatia 100 …0 se foloseste pentru a reprezenta intregul - 2n.
4. Reprezentarea unui numar negativ in cod complementar se poate face imediat
daca se cunoaste reprezentarea valorii sale absolute (numarul pozitiv corespunzator) in
acelasi format, extinzand complementul fata de 2 si la bitul de semn (complement extins
fata de 2).
Exemplu: Sa consideram urmatoarele nr. intregi binare cu semn: N1= +595, respectiv
N2= -595 . Vrem sa determinam reprezentarea in cod complementar in format cu virgula
fixa 1+15.
Deoarece |N1|=|N2|=1001010011, reprezentarile obtinute vor fi cele din Fig. 3.5.
3.7. Coduri alfanumerice
Simbol alfanumeric = orice simbol utilizat pentru a edita texte formate din litere,
cifre, semne de punctuatie si controale folosite pentru a controla afisarea.
Cod alfanumeric = un cod la care fiecare simbol alfanumeric este reprezentat prin
intermediul unei combinatii binare.
Chiar daca actual nu exista niciun standard unanim acceptat relativ la reprezentarea
informatiei alfanumerice, exista cateva coduri alfanumerice larg utilizate. Acestea pot fi
considerate ca si standarde in domeniu intr-un anume sens.
Numarul de simboluri codificate este mare (x 100), de aceea combinatiile codului au
lungimi de cel putin 7 biti.
Codul ASCII (American Standard Code for Information Interchange) este printre cele mai
populare coduri alfanumerice .
In tabelul ASCII, primele doua coloane (combinatiile de cod 00000000…00001111) sunt
rezervate pentru a reprezenta comenzi specifice operatiilor de transmitere a datelor si
afisare.
Urmatoarele combinatii sunt mai populare:
NUL (00H) - nicio operatie;
BEL (07H) - activeaza un “beep”;
HT (09H) - activeaza tabulatorul orizontal;
LF (0AH) - permite pozitionarea cursorului capului de imprimare pe linia urmatoare
(line feed)
CR (0DH) - permite pozitionarea cursorului capului de imprimare la inceputul liniei
(carriage return);
ESC (1BH) - se foloseste uzual pentru abandorarea operatiei curente si atunci cand
apare o eroare, dar se poate utiliza si pentru alte scopuri.
Modul de codificare al literelor permite realizarea intr-un mod simplu al unor operatii cum
ar fi compararea si sortarea informatiei alfabetice ( de ex. nume, prenume etc. ) De ex.
"AB"<"AC“ deoarece 0x4142<0x4143 (0x apare ca prefix pentru reprez. hexazecimala).
Observatie
Daca se doreste realizarea unei sortari, trebuie tinut cont de codurile folosite pentru
litere mari care sunt mai mici decat cele folosite pentru literele mici! (de ex. "POPA" <
"popa" deoarece 0x504F5041<0x706F7061).
De aceea, inainte de realizarea unei sortari, toate caracterele trebuiesc reprezentate intr-
o maniera unitara (fie se folosesc doar literere mici, fie se folosesc doar literere mari). In
acest scop limbajele moderne de programare furnizeaza functii (de ex. in MATLAB
upper(‘x’)=X).
Considerand ceea s-a prezentat in paragrafele anterioare, se poate observa ca exista o
gama larga de posibilitati disponibile pentru reprezentarea binara a informatiei numerice:
codul binar, coduri binar-zecimale, coduri alfanumerice.
Exemplu: Consideram numarul zecimal 46. Se prezinta cateva dintre reprezentarile
binare posibile ale sale: (a) cod binar : 101110; (b) cod 8421: 01000110; (c) cod
Johnson: 0111111110; (d) cod ASCII: (4 are codul zec. 52, 6 ->54) =>
0011010000110110
Pentru a determina valoarea corecta a unui numar, trebuie deci sa se cunoasca in ce
cod este reprezentat.
De exemplu, se considera combinatia 01000011 . Aceasta se poate interpreta ca:
•numarul 67 in cod binar (64+2+1);
•numarul 43 in codul 8421;
•numarul 10 in codul binar-zecimal Exces 3;
Cand se foloseste Unicod (Universal code), se pot reprezenta mai multe simboluri
alfanumerice, deoarece se utilizeaza 16 biti in loc de 8. Astfel a devenit posibila
reprezentarea simbolurilor din Asia, Rusia etc.
http://unicod-table.com/en pentru caractere englezesti
http://unicod-table.com/en/#greek-coptic pentru caractere grecesti etc.

http://unicod.org/standard/WhatIsUnicod.html
Standardul Unicod a fost adoptat de lideri industriali ca de ex. Apple, HP, IBM,
JustSystems, Microsoft, Oracle, SAP, Sun, Sybase, Unisys si multi altii. Unicod este o
cerinta pentru standarde moderne ca XML, Java, ECMAScript (JavaScript), LDAP,
CORBA 3.0, WML etc. si reprezinta modalitatea oficiala de implementare pentru
ISO/IEC 10646. I se ofera suport pentru multe sisteme de operare moderne, toate
browserele moderne si multe alte produse. Aparitia standardului Unicod precum si
disponibilitatea tool-urilor care ii ofera suport reprezinta una dintre cele mai semnificative
tendinte in tehnologiile SW globale actuale.

Incorporarea Unicod-ul in aplicatii client-server sau multi-strat si respectiv in site-uri de


web conduce la economii semnificative relativ la utilizarea seturilor de caractere
traditionale.
Unicod face posibila utilizarea unui singur produs SW sau a unui singur site de web din
mai multe platforme, limbaje si tari fara a mai fi necesare operatii de tip re-engineering.
El permite transportarea datelor prin diferite sisteme fara ca aceste date sa fie corupte.
3.8 Aspecte ale protectiei informatiei
3.8.1 Informatie si comunicare
3.8.3.1 Modelul lui Shannon pentru comunicatii
Fig. 3.6. prezinta un model pentru un sistem de comunicatii , asa cum a fost conceput de
Shannon in cadrul Teoriei Informatiei.
Sursa de informatii=information source; transmitator=transmitter; mesaj=mesage;
semnal transmis=transmitted signal; semnal receptionat=received signal;
receptor=receiver; destinatie=destination; canal de comunicatie=communication
channel; sursa de zgomot= source of noise.

Fig. 3.6.

Sursa de informatii produce un mesaj sau o secventa de mesaje care trebuie sa ajunga
la destinatie.
Mesajul este preluat de transmitator , care il transforma in semnale (ii realizeaza
codificarea). Semnalele obtinute vor fi transmise catre receptor prin intermediul unui
canal de comunicatie .
Receptorul preia semnalele primite (realizeaza decodificarea lor) si le transmite la
destinatie. Destinatia poate fi o persoana sau un alt sistem care este capabil sa
interpreteze mesajul.
In timpul transmisiei semnalului codificat prin canal pot apare perturbatii (zgomot) .
Acestea pot modifica semnalul initial => pot apare diferente intre semnalul transmis si
cel receptionat.
In multe situatii acest tip de distorsiuni nu prezinta importanta. De ex. – pentru o
imagine, alterarea culorii unui pixel sau a unei intregi zone nu este nici macar observata
de receptor. Pe de alta parte, precizia altor informatii (de ex. note sau valori din conturi
bancare) sunt considerate ca si erori inacceptabile din punct de vedere moral si legal.
De aceea trebuiesc luate masuri speciale, pentru a permite cel putin detectarea erorilor
de transmisie a datelor si uneori corectarea lor.
S-a demonstrat ca nu exista nicio metoda capabila sa detecteze toate erorile posibile.
Se pot insa depune eforturi pentru a mari cat se poate de mult probabilitatea ca o eroare
sa ramana nedetectata.
Mesajul detectat ca avand erori iremediabile va fi rejectat si, in acest caz, se pot efectua
doua actiuni la receptor:
- Se va trimite o avertizare (warning) care anunta rejectarea mesajului primit SAU ;
-Detectorul de erori va solicita sursei informatiei sa retransmita mesajul (eventual sa il
corecteze).

Observatie: Un mesaj corectat nu inseamna in mod necesar un mesaj corect, fiindca


totdeauna exista o probabilitate nenula ca un mesaj care contine erori sa circule prin
calea de comunicare, sa fie analizat de detector si sa se decida ca nu are erori.
Dupa primirea mesajului, receptorul poate transmite un raspuns reprezentand reactia sa
la primirea mesajului.
Solicitarea pentru retransmiterea mesajului si raspunsul pot fi comunicate:
-prin acelasi canal (cel folosit pentru a trimite mesajul initial) =>canal bidirectional SAU
- prin canale diferite (canale unidirectionale) .

Observatie: Teoria lui Shannon nu face nicio presupunere relativ la proprietatea de tip
„adevarat / fals” a informatiei transmise. Ea se axeaza numai pe studiul transmisiei
semnalelor si al (de)codificarii lor.
Scopul ei este de a reduce influenta zgomotului care afecteaza transmiterea mesajelor
la nivelul canalului.
Acest model este acceptabil pentru modele tehnice, dar la sisteme implicand
comunicarea interumana lucrurile sunt mult mai complicate datorita aspectelor
psihologice care trebuiesc luate in considerare.
Se reamintesc informatii din prezentarea 2: in principiu codificarea redundanta
presupune doua tipuri de simboluri:
- simboluri utile (denumite si simboluri informationale), care transporta informatia cu
semnificatie utila;
-simboluri de control, care se afla in relatii predeterminate cu simbolurile informationale.
Daca se detecteaza o incalcare a acestor reguli la receptor, se pot detecta erorile si
uneori se pot face corectii. Cel mai popular exemplu in acest sens= bitul de paritate (de
control) . Acesta este ales a.i. sa se obtina acelasi tip de paritate (par/impar) pentru
toate grupurile de biti care compun mesajul.

Observatie. Nu toate mesajele care ajung la destinatie reprezinta informatie. Doar


mesajele care pot fi interpretate (decodificate semantic) la destinatie reprezinta
informatie. Atunci cand nu exista posibilitatea interpretarii, mesajul va reprezenta doar o
colectie de date procesate.
3.8.2 Protejarea informatiei cu codificare binar-zecimala
Asa cum s-a demonstrat anterior, sunt necesari cel putin 4 biti pentru a genera un cod
binar-zecimal. Orice cod binar-zecimal reprezentat pe n biti va folosi DOAR 10
COMBINATII DISTINCTE. Inseamna ca un numar de combinatii egal cu 2n-10 va
ramane neutilizat. Acestea se numesc „ combinatii redundante ale codului”.

Exemplu:
pentru n=4 24-10=6 combinatii redundante;
pentru n=5 25-10=22 combinatii redundante;
pentru n=7 27-10=118 combinatii redundante etc.
 numarul de combinatii redundante creste semnificativ pentru valori mai mari ale lui n.

Prezenta combinatiilor redundante este foarte importanta pentru implementarea


mecanismelor folosite la detectarea erorilor care pot apare in diferite procese asociate
transmiterii informatiei.
Exemplu:
Se intentioneaza transmiterea cifrei 9, codificata in BCD 8421 prin 1001. Se presupune
ca perturbatiile pe linie afecteaza un bit.
Scenariul 1: Este afectat bitul b1 -> la receptor se obtine combinatia 1011.
Deoarece aceasta combinatie nu apartine setului de combinatii utile pentru BCD 8421,
eroarea este detectata si in timpul procesului de decodificare mesajul este rejectat.
Scenariul 2: Este afectat bitul b0 -> la receptor se obtine combinatia 1000. Deoarece
aceasta combinatie apartine setului de combinatii utile pentru BCD 8421, eroarea nu
poate fi detectata si mesajul va fi acceptat in timpul procesului de decodificare.
Evident, daca exista un numar mai mare de combinatii redundante creste si
probabilitatea de a detecta erorile.
Cu alte cuvinte: un cod binar-zecimal mai lung conduce la o probabilitate mai mare de a
detecta erori. Totusi lungimea codului nu poate fi marita prea mult deoarece aceasta ar
implica valori mai mari pentru: complexitatea echipamentului de transmisie, costuri,
timpul de transmisie si chiar si probabilitatea cu care o combinatie de cod poate fi
afectata de erori.
3.9.3 Protectie prin bit de paritate
O metoda folosita pentru protectia informatiei in procesele implicate in transmisia si
stocarea informatiei consta in cresterea redundantei datelor prin intermediul unui bit
suplimentar, denumit bit de paritate (parity (check) bit). Metoda este extrem de simpla si
de aceea se utilizeaza intensiv.
Principiu: setul de biti de transmis se imparte in grupuri (G) de lungimi egale (n biti).
Fiecarui grup i se adauga un bit B => fiecare G va avea n+1 biti. Valoarea lui B se
calculeaza pentru fiecare G conform regulii: numarul total de „1” din orice G va pastra
acelasi tip de paritate (para/impara).
Daca numarul de „1” din G is par => bit de control bit cu paritate para.
Daca numarul de „1” din G is impar => bit de control bit cu paritate impara.
Ori de cate ori se modifica paritatea unui grup, se semnaleaza o eroare.
Metoda poate detecta numai UN NUMAR IMPAR DE ERORI, dar in practica
probabilitatea aparitiei unui singur bit de eroare este suficient de mica pentru a putea
considera aceasta metoda ca fiind de succes, daca se considera costul extrem de mic al
metodei comparativ cu alte metode de protectie.
Exemplu: Se considera cuvantul „EXAMEN” reprezentat in codul ASCII. Se va
determina bitul de control bit in mod individual pentru fiecare litera.
Litera Cod ASCII bit pt paritate para

E 1000101 1

X 1011000 1

A 1000001 0

M 1001101 0

E 1000101 1

N 1001110 0

Teoretic bitul de paritate se poate plasa in orice pozitie din interiorul grupului protejat,
dar in practica se plaseaza la una dintre margini.
In continuare se va considera ca bitul de paritate se plaseaza in pozitia cea mai putin
semnificativa (bitul b7). Considerand ca bitii caracterului se transmit plecand de la bitul
cel mai putin semnificativ, sirul de biti folosit la transmiterea cuvantului EXAMEN va fi:

1000101

101000110001101110000010101100101010001101110010

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