Reprezentarea informației în sistemele de calcul. Coduri

Reprezentarea informatției folosind coduri

  • Informația este transmisă între sistemele de calcul, prin rețele de calculatoare sub forma de șiruri de biți.
  • Pentru un nivel corespunzător de securitate și corectitudine a
    informației transmise se utilizează reprezentarea datelor în
    diferite coduri.
  • În prezent există numeroase metode de codicare a informației, printre care:
    – reprezentarea numerelor în cod binar;
    – reprezentarea caracterelor în coduri precum ASCII sau UNICODE;
    – reprezentarea șirurilor de bitți în coduri care sunt detectoare și
    corectoare de erori (codul Gray, coduri de tip Hamming, etc).
  • În general, există o submulțime de k biți din cuvântul codat
    x1 ….. xn care reprezintă biții de informație inițiali care trebuie
    transmiși. Ceilalți biți se numesc biți de control și sunt
    utilizați pentru detectarea și corectarea unor eventuale erori.

Deniție:
Se numește codicare transformarea unui cuvânt necodat s aparține lui Ak, într-un cuvânt codat C(s) aparține lui An.
Operația inversă se numește decodicare.

  • Dacă în codicarea unui cuvânt apar biți eronați, atunci codicarea este greșită. În caz contrar, codicarea este corectă.
  • Pentru codicarea unui mesaj format din mai mult de k
    simboluri, acesta se împarte în cuvinte de k simboluri, ecare
    dintre aceste cuvinte este codicat obțin și un cuvânt format
    din n simboluri cuvinte care reunite reprezintă codicarea
    mesajului inițial.

Exemplu:
Funcția C : A ! A3, C(0) = 000 și C(1) = 111 reprezintă un cod de tip (3; 1).
Dacă mesajul inițial este m = 1010, atunci mesajul codat este C(m) = 111000111000.
Regula de detectare și corectare a erorilor este aceea de a alege bitul majoritar din care secvența de trei biți.

Coduri detectoare și corectoare de erori

Deniție:
Se numește distanța Hamming  între două șiruri de biți a și b de
aceeași lungime numărul biților de valori diferite situați în aceeași
poziție în cele două șiruri.
Astfel, dacă a,b aparțin lui  An, a = a1 …. an și b = b1 ….  bn atunci
dH(a, b) = card{i| ai != bi; 1 <=i <= ng.

Exemplu:
Pentru a = 1000, b = 1001, dH(a, b) = 1.

  • Codul BCD (Binary-Coded Decimal)
    Codul BCD presupune codicare fiecărei cifre a unui număr
    scris în baza 10 în secvența de 4 biți corespunzătoare.
  • Pentru a controla transportul corect al informației codificate se poate introduce un bit de control. Acesta poate fi reprezentat de către un bit care redă paritatea valorilor 1 (sau a valorilor 0). Astfel se poate conveni că bitul de control să fie
    0 dacă numărul biților 1 este par și 1 în caza contrar.

Exemplu
Dacă m = 938 atunci BCD(m) = 1001 0011 1000, iar dacă se
adaugă biți de control: BCD(m) = 10010 00110 10001

Codul Gray

  • Codul Gray realizează codificarea utilizând operatorul sau exclusiv ^ pe biți.
  • Dacă a[n] este o reprezentare în cod binar binar a unui număr, atunci codul Gray corespunzător, notat cu g[n], se obține astfel:
    a[0] = g[0], iar pentru i = {1, ….. n -1}  g[i] = a[i – 1] ^a[i].

Exemplu :
1)Dac[ a = 10002. Atunci, g = 1100.
2)Dac a = 1310, atunci a = 8 + 4 + 1 = 11012 si se obtine
g = 1011.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s