Salut în binar. Cod binar

Calculatoarele nu înțeleg cuvintele și numerele așa cum le înțeleg oamenii. Software-ul modern permite utilizatorului final să ignore acest lucru, dar la cele mai joase niveluri computerul dumneavoastră operează pe un semnal electric binar care are doar două stări: dacă există curent sau nu. Pentru a „înțelege” datele complexe, computerul trebuie să le codifice în format binar.

Sistemul binar se bazează pe două cifre, 1 și 0, corespunzătoare stărilor de pornire și oprire pe care computerul le poate înțelege. Probabil că sunteți familiarizat cu sistemul zecimal. Folosește zece cifre, de la 0 la 9, apoi trece la următoarea ordine pentru a forma numere din două cifre, fiecare număr fiind de zece ori mai mare decât cel anterior. Sistemul binar este similar, fiecare cifră fiind de două ori mai mare decât cea anterioară.

Numărarea în format binar

În expresia binară, prima cifră este echivalentă cu 1 în sistemul zecimal. A doua cifră este 2, a treia este 4, a patra este 8 și așa mai departe - dublându-se de fiecare dată. Adăugarea tuturor acestor valori vă va oferi numărul în format zecimal.

1111 (în binar) = 8 + 4 + 2 + 1 = 15 (în zecimală)

Contabilizarea pentru 0 ne oferă 16 valori posibile pentru patru biți binari. Mutați 8 biți și obțineți 256 de valori posibile. Acest lucru ocupă mult mai mult spațiu pentru a reprezenta, deoarece patru cifre zecimale ne oferă 10.000 de valori posibile. Desigur, codul binar ocupă mai mult spațiu, dar computerele înțeleg fișierele binare mult mai bine decât sistemul zecimal. Și pentru unele lucruri, cum ar fi procesarea logică, binarul este mai bun decât zecimalul.

Trebuie spus că există un alt sistem de bază care este folosit în programare: hexazecimal. Deși computerele nu funcționează în format hexazecimal, programatorii îl folosesc pentru a reprezenta adrese binare într-un format care poate fi citit de om atunci când scriu cod. Acest lucru se datorează faptului că două cifre dintr-un număr hexazecimal pot reprezenta un octet întreg, adică înlocuiesc opt cifre în binar. Sistemul hexazecimal folosește numerele 0-9, precum și literele de la A la F, pentru a crea șase cifre suplimentare.

De ce computerele folosesc fișiere binare?

Răspuns scurt: hardware și legile fizicii. Fiecare caracter din computerul tău este un semnal electric, iar în primele zile ale calculului, măsurarea semnalelor electrice era mult mai dificilă. Era mai logic să distingem doar starea „pornită”, reprezentată de o sarcină negativă, și starea „oprit”, reprezentată de o sarcină pozitivă.

Pentru cei care nu știu de ce „off” este reprezentat de o sarcină pozitivă, deoarece electronii au o sarcină negativă, iar mai mulți electroni înseamnă mai mult curent cu o sarcină negativă.

Astfel, timpuriu computere de dimensiunea camerei utilizate fișiere binare pentru a-și crea sistemele și, deși au folosit echipamente mai vechi și mai voluminoase, au lucrat pe aceleași principii fundamentale. Calculatoarele moderne folosesc ceea ce se numește tranzistor pentru a efectua calcule cu cod binar.

Iată o diagramă a unui tranzistor tipic:

În esență, permite curentului să curgă de la sursă la scurgere dacă există curent în poartă. Aceasta formează o cheie binară. Producătorii pot face aceste tranzistoare incredibil de mici – până la 5 nanometri sau dimensiunea a două fire de ADN. Acesta este modul în care funcționează procesoarele moderne și chiar și ei pot suferi de probleme în a distinge între stările pornit și oprit (deși acest lucru se datorează dimensiunii lor moleculare nereale fiind supusă la ciudățenia mecanicii cuantice).

De ce numai sistem binar

Deci s-ar putea să vă gândiți: „De ce doar 0 și 1? De ce să nu adaugi un alt număr? Deși acest lucru se datorează parțial tradițiilor de a crea computere, în același timp, adăugarea unei alte cifre ar însemna necesitatea de a distinge o altă stare a curentului, nu doar „oprit” sau „pornit”.

Problema aici este că, dacă doriți să utilizați mai multe niveluri de tensiune, aveți nevoie de o modalitate de a efectua cu ușurință calcule pe ele, iar hardware-ul actual capabil de acest lucru nu este viabil ca înlocuitor pentru calculele binare. De exemplu, există un așa-numit computer triplu, dezvoltat în anii 1950, dar dezvoltarea s-a oprit aici. Logica ternară mai eficient decât binarul, dar nu există încă un înlocuitor eficient pentru tranzistorul binar sau cel puțin niciun tranzistor la aceeași scară mică ca binarul.

Motivul pentru care nu putem folosi logica ternară se rezumă la modul în care tranzistorii sunt conectați la un computer și modul în care sunt utilizați pentru calcule matematice. Tranzistorul primește informații la două intrări, efectuează o operație și returnează rezultatul la o ieșire.

Astfel, matematica binară este mai ușoară pentru un computer decât orice altceva. Logica binară este ușor convertită în sisteme binare, cu adevărat și fals corespunzând stărilor On și Off.

Un tabel de adevăr binar care rulează pe logica binară va avea patru ieșiri posibile pentru fiecare operație fundamentală. Dar, deoarece porțile triple folosesc trei intrări, tabelul de adevăr triplu ar avea 9 sau mai multe. În timp ce sistemul binar are 16 operatori posibili (2^2^2), sistemul ternar ar avea 19683 (3^3^3). Scalarea devine o problemă deoarece, deși trinity este mai eficientă, este și exponențial mai complexă.

Cine ştie?În viitor, s-ar putea să vedem computerele ternare ca logica binară se confruntă cu provocări de miniaturizare. Deocamdată, lumea va continua să funcționeze în modul binar.

Această lecție va acoperi subiectul „Codificarea informațiilor. Codare binară. Unitățile de măsură ale informațiilor.” În timpul acestuia, utilizatorii vor putea înțelege codificarea informațiilor, modul în care computerele percep informațiile, unitățile de măsură și codificarea binară.

Subiect:Informații din jurul nostru

Lecția: Codarea informațiilor. Codare binară. Unități de informații

Această lecție va acoperi următoarele întrebări:

1. Codificarea ca schimbare a formei de prezentare a informațiilor.

2. Cum recunoaște un computer informațiile?

3. Cum se măsoară informația?

4. Unităţi de măsură ale informaţiei.

În lumea codurilor

De ce codifică oamenii informațiile?

1. Ascundeți-l de alții (criptografia în oglindă a lui Leonardo da Vinci, criptare militară).

2. Notează informațiile pe scurt (scurtizare, abreviere, indicatoare rutiere).

3. Pentru procesare și transmitere mai ușoară (cod Morse, traducere în semnale electrice - coduri mașină).

Codificare este reprezentarea informațiilor folosind un anumit cod.

Cod este un sistem de simboluri pentru prezentarea informațiilor.

Metode de codificare a informațiilor

1. Grafic (vezi Fig. 1) (folosind desene și semne).

Orez. 1. Sistem de semnalizare (Sursă)

2. Numeric (folosind numere).

De exemplu: 11001111 11100101.

3. Simbolic (folosind simboluri alfabetice).

De exemplu: NKMBM CHGYOU.

Decodare este o acțiune de restabilire a formei inițiale de prezentare a informațiilor. Pentru a decoda, trebuie să cunoașteți codul și regulile de codificare.

Mijlocul de codificare și decodare este tabelul de corespondență de cod. De exemplu, corespondența în diferite sisteme numerice este 24 - XXIV, corespondența alfabetului cu orice simbol (Fig. 2).


Orez. 2. Exemplu de cifrare (Sursa)

Exemple de codificare a informațiilor

Un exemplu de codificare a informațiilor este codul Morse (vezi Figura 3).

Orez. 3. Cod Morse ()

Codul Morse folosește doar 2 simboluri - un punct și o liniuță (sunet scurt și lung).

Un alt exemplu de codificare a informațiilor este alfabetul steag (vezi Fig. 4).

Orez. 4. Alfabetul steagului ()

Un alt exemplu este alfabetul steagurilor (vezi Fig. 5).

Orez. 5. ABC-ul steagurilor ()

Un exemplu binecunoscut de codificare este alfabetul muzical (vezi Fig. 6).

Orez. 6. Alfabetul muzical ()

Luați în considerare următoarea problemă:

Folosind tabelul alfabetului steagurilor (vezi Fig. 7), este necesar să se rezolve următoarea problemă:

Orez. 7

Senior Lom îi trece examenul căpitanului Vrungel. Ajutați-l să citească următorul text (vezi Figura 8):

Există în principal două semnale în jurul nostru, de exemplu:

Semafor: rosu - verde;

Întrebare: da - nu;

Lampa: aprins - stins;

Este posibil - nu este posibil;

Rău Bun;

Adevărul este o minciună;

Înainte şi înapoi;

Da nu;

Toate acestea sunt semnale care indică cantitatea de informații pe 1 bit.

1 bit - aceasta este cantitatea de informații care ne permite să alegem o opțiune din două posibile.

Calculator este o mașină electrică care funcționează pe circuite electronice. Pentru ca computerul să recunoască și să înțeleagă informațiile introduse, acestea trebuie traduse în limbajul computerului (mașină).

Algoritmul destinat interpretului trebuie să fie scris, adică codificat, într-un limbaj înțeles de computer.

Acestea sunt semnale electrice: curentul trece sau curentul nu trece.

Limbajul binar al mașinii - o secvență de „0” și „1”. Fiecare număr binar poate avea valoarea 0 sau 1.

Fiecare cifră a unui cod binar de mașină poartă o cantitate de informații egală cu 1 bit.

Se numește numărul binar care reprezintă cea mai mică unitate de informație b aceasta . Un bit poate lua valoarea fie 0, fie 1. Prezența unui semnal magnetic sau electronic într-un computer înseamnă 1, absența lui 0.

Se numește un șir de 8 biți b ACEASTA . Computerul procesează acest șir ca un caracter separat (număr, literă).

Să ne uităm la un exemplu. Cuvântul ALICE este format din 5 litere, fiecare dintre acestea fiind reprezentată în limbajul computerului printr-un octet (vezi Fig. 10). Prin urmare, Alice poate fi măsurată ca 5 octeți.

Orez. 10. Cod binar (sursă)

Pe lângă biți și octeți, există și alte unități de informație.

Bibliografie

1. Bosova L.L. Informatica si TIC: manual pentru clasa a V-a. - M.: BINOM. Laboratorul de cunoștințe, 2012.

2. Bosova L.L. Informatica: Caiet de lucru pentru clasa a V-a. - M.: BINOM. Laboratorul de cunoștințe, 2010.

3. Bosova L.L., Bosova A.Yu. Lecții de informatică în clasele 5-6: Manual metodologic. - M.: BINOM. Laboratorul de cunoștințe, 2010.

2. Festivalul „Lecția deschisă” ().

Teme pentru acasă

1. §1.6, 1.7 (Bosova L.L. Informatica si TIC: Manual pentru clasa a V-a).

2. Pagina 28, sarcinile 1, 4; p. 30, sarcinile 1, 4, 5, 6 (Bosova L.L. Informatică și TIC: Manual pentru clasa a 5-a).

Sensul termenului „binar” este că acesta constă din două părți sau componente. Astfel, codurile binare sunt coduri care constau doar din două stări simbolice, precum negru sau alb, lumină sau întuneric, conductor sau izolator. Un cod binar în tehnologia digitală este o modalitate de reprezentare a datelor (numere, cuvinte și altele) ca o combinație de două caractere, care pot fi desemnate ca 0 și 1. Caracterele sau unitățile BC se numesc biți. Una dintre justificările pentru utilizarea BC este simplitatea și fiabilitatea stocării informațiilor pe orice mediu sub forma unei combinații a doar două dintre stările sale fizice, de exemplu, sub forma unei schimbări sau constante a fluxului de lumină atunci când citirea de pe un disc cu cod optic.
Există diferite posibilități de codificare a informațiilor.

Cod binar

În tehnologia digitală, o metodă de reprezentare a datelor (numere, cuvinte și altele) ca o combinație de două caractere, care pot fi desemnate ca 0 și 1. Semnele sau unitățile DC se numesc biți.

Una dintre justificările pentru utilizarea DC este simplitatea și fiabilitatea stocării informațiilor pe orice mediu sub forma unei combinații a doar două dintre stările sale fizice, de exemplu, sub forma unei schimbări sau constante a fluxului magnetic în o celulă dată a mediului de înregistrare magnetică.

Cel mai mare număr care poate fi exprimat în binar depinde de numărul de cifre utilizate, adică. asupra numărului de biți din combinația care exprimă numărul. De exemplu, pentru a exprima valorile numerice de la 0 la 7, este suficient să aveți un cod de 3 cifre sau 3 biți:

valoare numerica cod binar
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Din aceasta putem observa că pentru un număr mai mare de 7 cu un cod de 3 cifre nu mai există combinații de coduri de 0 și 1.

Trecând de la numere la mărimi fizice, să formulăm afirmația de mai sus într-o formă mai generală: cel mai mare număr de valori m din orice mărime (temperatura, tensiune, curent etc.), care poate fi exprimat în cod binar, depinde asupra numărului de biți folosiți n ca m= 2n. Dacă n=3, ca în exemplul luat în considerare, atunci obținem 8 valori, inclusiv primul 0.
Codul binar este un cod în mai mulți pași. Aceasta înseamnă că la trecerea de la o poziție (valoare) la alta, mai mulți biți se pot schimba simultan. De exemplu, numărul 3 în codul binar = 011. Numărul 4 în codul binar = 100. În consecință, atunci când treceți de la 3 la 4, toți cei 3 biți își schimbă starea în opus simultan. Citirea unui astfel de cod de pe un disc de cod ar duce la faptul că, din cauza abaterilor inevitabile (toleranțe) în timpul producerii unui disc de cod, o modificare a informațiilor de la fiecare piesă separat nu va avea loc niciodată simultan. Acest lucru, la rândul său, ar duce la faptul că atunci când se trece de la un număr la altul, informații incorecte ar fi furnizate pe scurt. Deci, în timpul tranziției menționate mai sus de la numărul 3 la numărul 4, o ieșire pe termen scurt a numărului 7 este foarte probabilă atunci când, de exemplu, cel mai semnificativ bit din timpul tranziției și-a schimbat valoarea puțin mai devreme decât restul . Pentru a evita acest lucru, se folosește un așa-numit cod într-un singur pas, de exemplu așa-numitul Cod Gri.

Cod gri

Codul gri este un așa-numit cod într-un singur pas, adică. Când treceți de la un număr la altul, doar unul dintre toate biții de informații se schimbă întotdeauna. O eroare la citirea informațiilor de pe un disc de cod mecanic la trecerea de la un număr la altul va duce doar la faptul că trecerea de la o poziție la alta va fi doar ușor deplasată în timp, dar emiterea unei valori de poziție unghiulară complet incorectă atunci când trecerea dintr-o poziție în alta este complet eliminată.
Un alt avantaj al Grey Code este capacitatea sa de a oglindi informații. Deci, inversând bitul cel mai semnificativ, puteți schimba pur și simplu direcția de numărare și, astfel, puteți potrivi direcția reală (fizică) de rotație a axei. Schimbarea direcției de numărare în acest mod poate fi schimbată cu ușurință prin controlul așa-numitei intrări „Complement”. Valoarea de ieșire poate fi astfel crescătoare sau descrescătoare pentru aceeași direcție fizică de rotație a axei.
Deoarece informațiile exprimate în codul gri sunt codificate în mod pur și nu poartă informații numerice reale, trebuie mai întâi convertite într-un cod binar standard înainte de procesare ulterioară. Acest lucru se realizează folosind un convertor de cod (decodor Gray-Binar), care, din fericire, este ușor de implementat folosind un circuit de elemente logice exclusive sau (XOR), atât în ​​software, cât și în hardware.

Numerele zecimale corespunzătoare în intervalul de la 0 la 15 la coduri binare și gri

Codare binară Codare gri
Cod zecimal
Valoare binară Şaisprezece sens Cod zecimal Valoare binară Şaisprezece sens
0 0000 0h 0 0000 0h
1 0001 1h 1 0001 1h
2 0010 2h 3 0011 3h
3 0011 3h 2 0010 2h
4 0100 4h 6 0110 6h
5 0101 5h 7 0111 7h
6 0110 6h 5 0101 5h
7 0111 7h 4 0100 4h
8 1000 8h 12 1100 Ch
9 1001 9h 13 1101 Dh
10 1010 Ah 15 1111 Fh
11 1011 Bh 14 1110 Eh
12 1100 Ch 10 1010 Ah
13 1101 Dh 11 1011 Bh
14 1110 Eh 9 1001 9h
15 1111 Fh 8 1000 8h

Convertirea codului Gray în codul binar obișnuit se poate face folosind un circuit simplu cu invertoare și porți exclusive, așa cum se arată mai jos:

Cod Gri-Exces

Codul Gray obișnuit într-un singur pas este potrivit pentru rezoluțiile care pot fi reprezentate ca un număr ridicat la puterea lui 2. În cazurile în care este necesară implementarea altor permisiuni, secțiunea din mijloc este tăiată din codul Gray obișnuit și utilizată. În acest fel, codul rămâne „un singur pas”. Cu toate acestea, intervalul numeric nu începe de la zero, ci este deplasat cu o anumită valoare. La procesarea informațiilor, jumătate din diferența dintre rezoluția originală și cea redusă este scăzută din semnalul generat. Rezoluții precum 360? pentru a exprima un unghi sunt adesea implementate prin această metodă. Deci un cod Gray de 9 biți egal cu 512 pași, tăiat pe ambele părți cu 76 de pași, va fi egal cu 360°.

Decodificarea codului binar este folosită pentru a traduce din limbajul mașinii în limbajul obișnuit. Instrumentele online funcționează rapid, deși nu este dificil să o faci manual.

Codul binar sau binar este folosit pentru a transmite informații digital. Un set de doar două caractere, cum ar fi 1 și 0, vă permite să criptați orice informație, fie că este text, numere sau o imagine.

Cum se criptează cu cod binar

Pentru a converti manual orice simbol în cod binar, sunt folosite tabele în care fiecărui simbol i se atribuie un cod binar sub formă de zerouri și unu. Cel mai comun sistem de codare este ASCII, care folosește notația de cod pe 8 biți.

Tabelul de bază prezintă coduri binare pentru alfabetul latin, numere și unele simboluri.

La tabelul extins a fost adăugată o interpretare binară a alfabetului chirilic și caractere suplimentare.

Pentru a converti din cod binar în text sau numere, pur și simplu selectați codurile dorite din tabele. Dar, desigur, efectuarea manuală a acestui tip de muncă durează mult timp. Și greșelile, în plus, sunt inevitabile. Calculatorul face față mult mai rapid la decriptare. Și nici măcar nu credem, în timp ce introducem text pe ecran, că în acel moment textul este convertit în cod binar.

Conversia unui număr binar în zecimal

Pentru a converti manual un număr dintr-un sistem numeric binar într-un sistem numeric zecimal, puteți utiliza un algoritm destul de simplu:

  1. Sub numărul binar, începând cu cifra cea mai din dreapta, scrieți numărul 2 în puteri crescătoare.
  2. Puterile lui 2 sunt înmulțite cu cifra corespunzătoare a numărului binar (1 sau 0).
  3. Adăugați valorile rezultate.

Iată cum arată acest algoritm pe hârtie:

Servicii online pentru decriptare binară

Dacă tot trebuie să vedeți codul binar decriptat sau, dimpotrivă, să convertiți textul în formă binară, cel mai simplu mod este să utilizați serviciile online concepute în aceste scopuri.

Două ferestre, familiare pentru traducerile online, vă permit să vedeți aproape simultan ambele versiuni ale textului în formă normală și binară. Și decriptarea se realizează în ambele direcții. Introducerea textului este o simplă chestiune de copiere și lipire.

Adâncimea de biți a codului binar, Conversia informațiilor din formă continuă în forma discretă, Universalitatea codării binare, Coduri uniforme și neuniforme, Informatică clasa a VII-a Bosova, Informatică clasa a VII-a

1.5.1. Conversia informațiilor din formă continuă în formă discretă
Pentru a-și rezolva problemele, o persoană trebuie adesea să transforme informațiile existente de la o formă de reprezentare la alta. De exemplu, atunci când citiți cu voce tare, informațiile sunt convertite din formă discretă (text) în continuă (sunet). În timpul unui dictat într-o lecție de limba rusă, dimpotrivă, informația este transformată dintr-o formă continuă (vocea profesorului) într-una discretă (notele elevilor).
Informațiile prezentate sub formă discretă sunt mult mai ușor de transmis, stocat sau procesat automat. Prin urmare, în tehnologia computerelor, se acordă multă atenție metodelor de conversie a informațiilor din formă continuă în formă discretă.
Discretizarea informațiilor este procesul de conversie a informațiilor dintr-o formă continuă de reprezentare într-una discretă.
Să ne uităm la esența procesului de eșantionare a informațiilor folosind un exemplu.
Stațiile meteorologice au înregistratoare pentru înregistrarea continuă a presiunii atmosferice. Rezultatul muncii lor sunt barogramele - curbe care arată cum s-a schimbat presiunea pe perioade lungi de timp. Una dintre aceste curbe, desenată de dispozitiv în timpul a șapte ore de observație, este prezentată în Fig. 1.9.

Pe baza informațiilor primite, puteți construi un tabel care conține citirile instrumentului la începutul măsurătorilor și la sfârșitul fiecărei ore de observație (Fig. 1.10).

Tabelul rezultat nu oferă o imagine completă a modului în care s-a schimbat presiunea în timpul perioadei de observare: de exemplu, cea mai mare valoare a presiunii care a avut loc în a patra oră de observare nu este indicată. Dar dacă tabelați valorile presiunii observate la fiecare jumătate de oră sau 15 minute, noul tabel va oferi o imagine mai completă a modului în care s-a schimbat presiunea.
Astfel, am convertit informațiile prezentate în formă continuă (barogramă, curbă) în formă discretă (tabel) cu o oarecare pierdere de acuratețe.
În viitor, vă veți familiariza cu modalități de a reprezenta discret informațiile audio și grafice.

Lanțurile de trei simboluri binare sunt obținute prin completarea codurilor binare de două cifre din dreapta cu simbolul 0 sau 1. Ca urmare, combinațiile de cod a trei simboluri binare sunt de 8 - de două ori mai multe decât cele ale două simboluri binare:
În consecință, un binar pe patru biți vă permite să obțineți 16 combinații de coduri, unul pe cinci biți - 32, unul pe șase biți - 64 etc. Lungimea lanțului binar - numărul de caractere din codul binar - este numită adâncimea de biți a codului binar.
Rețineți că:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 etc.
Aici, numărul de combinații de coduri este produsul unui anumit număr de factori identici egal cu adâncimea de biți a codului binar.
Dacă numărul de combinații de coduri este notat cu litera N, iar adâncimea de biți a codului binar cu litera i, atunci modelul identificat în formă generală va fi scris după cum urmează:
N = 2 * 2 * ... * 2.
i factori
În matematică, astfel de produse sunt scrise ca:
N = 2 i.
Intrarea 2 i se citește după cum urmează: „2 la puterea i-a”.

Sarcină. Liderul tribului Multi și-a instruit ministrul să dezvolte un binar și să traducă toate informațiile importante în el. Ce dimensiune binar va fi necesară dacă alfabetul folosit de Tribul Multi conține 16 caractere? Notați toate combinațiile de coduri.
Soluţie. Deoarece alfabetul Multi tribe este format din 16 caractere, au nevoie de combinații de coduri 16. În acest caz, lungimea (adâncimea de biți) a codului binar este determinată din raportul: 16 = 2 i. Prin urmare i = 4.
Pentru a nota toate combinațiile de cod de patru 0 și 1, folosim diagrama din Fig. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. Versatilitatea codării binare
La începutul acestei secțiuni, ați învățat că, reprezentat în formă continuă, poate fi exprimat folosind simboluri într-un limbaj natural sau formal. La rândul lor, caracterele unui alfabet arbitrar pot fi convertite în binar. Astfel, folosind codul binar, pot fi reprezentate orice limbaje naturale și formale, precum și imagini și sunete (Fig. 1.14). Aceasta înseamnă universalitatea codificării binare.
Codurile binare sunt utilizate pe scară largă în tehnologia computerelor, necesitând doar două stări ale unui circuit electronic - „pornit” (aceasta corespunde numărului 1) și „oprit” (aceasta corespunde numărului 0).
Simplitatea implementării tehnice este principalul avantaj al codării binare. Dezavantajul codificării binare este lungimea mare a codului rezultat.

1.5.4. Coduri uniforme și neuniforme
Există coduri uniforme și neuniforme. Codurile uniforme din combinațiile de coduri conțin același număr de simboluri, cele nepare conțin un număr diferit.
Mai sus ne-am uitat la codurile binare uniforme.
Un exemplu de cod neuniform este codul Morse, în care este definită o secvență de semnale scurte și lungi pentru fiecare literă și număr. Deci, litera E corespunde unui semnal scurt („punct”), iar litera Ш corespunde la patru semnale lungi (patru „liniute”). Inegal vă permite să creșteți viteza de transmitere a mesajelor datorită faptului că simbolurile care apar cel mai frecvent în informațiile transmise au cele mai scurte combinații de coduri.

Informația pe care o dă acest simbol este egală cu entropia sistemului și este maximă în cazul în care ambele stări sunt la fel de probabile; în acest caz, simbolul elementar transmite informația 1 (două unități). Prin urmare, baza codificării optime va fi cerința ca caracterele elementare din textul codificat să apară în medie la fel de des.

Să prezentăm aici o metodă de construire a unui cod care satisface condiția enunțată; Această metodă este cunoscută sub numele de codul Shannon-Fano. Ideea sa este că simbolurile codificate (litere sau combinații de litere) sunt împărțite în două grupuri aproximativ la fel de probabile: pentru primul grup de simboluri, 0 este plasat pe primul loc al combinației (primul caracter al numărului binar reprezentând simbol); pentru al doilea grup - 1. În continuare, fiecare grup este din nou împărțit în două subgrupuri aproximativ la fel de probabile; pentru simbolurile primului subgrup, zero este plasat pe locul doi; pentru al doilea subgrup - unul etc.

Să demonstrăm principiul construirii codului Shannon-Fano folosind materialul alfabetului rus (Tabelul 18.8.1). Să numărăm primele șase litere (de la „-” la „t”); însumând probabilitățile (frecvențele) lor, obținem 0,498; toate celelalte litere (de la „n” la „sf”) vor avea aproximativ aceeași probabilitate de 0,502. Primele șase litere (de la „-” la „t”) vor avea în primul rând un binar 0. Literele rămase (de la „n” la „f”) vor avea în primul rând unul. Apoi, împărțim din nou primul grup în două subgrupuri aproximativ la fel de probabile: de la „-” la „o” și de la „e” la „t”; pentru toate literele primului subgrup pe locul doi vom pune zero, iar ale celui de-al doilea subgrup - unu.Vom continua procesul până când în fiecare diviziune rămâne exact o literă, care va fi codificată cu un anumit număr binar.Mecanismul pentru construirea codului este prezentat în tabelul 18.8 .2, iar codul în sine este dat în tabelul 18.8.3.

Tabelul 18.8.2.

Semne binare

Tabelul 18.8.3

Folosind Tabelul 18.8.3, puteți codifica și decoda orice mesaj.

Ca exemplu, să scriem expresia „teoria informațiilor” în cod binar.

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

Rețineți că nu este nevoie să separați literele una de cealaltă cu un semn special, deoarece decodificarea este efectuată fără ambiguitate chiar și fără acest lucru. Puteți verifica acest lucru prin decodificarea următoarei fraze folosind Tabelul 18.8.2:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

(„metoda de codificare”).

Cu toate acestea, trebuie remarcat faptul că orice eroare de codificare (confuzie aleatorie de 0 și 1 caractere) cu un astfel de cod este dezastruoasă, deoarece decodarea întregului text după eroare devine imposibilă. Prin urmare, acest principiu de codare poate fi recomandat doar în cazurile în care erorile de codificare și transmitere a unui mesaj sunt practic eliminate.

Apare o întrebare firească: codul pe care l-am compilat, în lipsa erorilor, este într-adevăr optim? Pentru a răspunde la această întrebare, să găsim informația medie pe simbol elementar (0 sau 1) și să o comparăm cu informația maximă posibilă, care este egală cu o unitate binară. Pentru a face acest lucru, găsim mai întâi informația medie conținută într-o literă a textului transmis, adică entropia pe literă:

,

unde este probabilitatea ca litera să ia o anumită stare („-”, o, e, a,..., f).

De la masă 18.8.1 avem

(două unități pe scrisoare de text).

Folosind tabelul 18.8.2, determinăm numărul mediu de simboluri elementare pe literă

Împărțind entropia la, obținem informații pe simbol elementar

(două unități).

Astfel, informația pe caracter este foarte aproape de limita sa superioară de 1, iar codul pe care l-am ales este foarte aproape de cel optim. Rămânând în limitele sarcinii de codificare a literelor, nu putem realiza nimic mai bun.

Rețineți că, în cazul codificării simple a numerelor binare de litere, am avea o imagine a fiecărei litere cu cinci caractere binare și informațiile pentru un caracter ar fi

(doua unitati),

adică considerabil mai puțin decât cu codificarea optimă a literelor.

Cu toate acestea, trebuie remarcat faptul că codificarea „prin literă” nu este deloc economică. Faptul este că există întotdeauna o dependență între literele adiacente ale oricărui text semnificativ. De exemplu, după o vocală în limba rusă nu poate exista „ъ” sau „ь”; „I” sau „yu” nu pot apărea după cele șuierate; după mai multe consoane la rând, probabilitatea unei vocale crește etc.

Știm că atunci când sistemele dependente sunt combinate, entropia totală este mai mică decât suma entropiilor sistemelor individuale; prin urmare, informațiile transmise de o bucată de text conectată sunt întotdeauna mai mici decât informațiile pe caracter înmulțite cu numărul de caractere. Luând în considerare această circumstanță, se poate construi un cod mai economic dacă codificați nu fiecare literă individual, ci „blocuri” întregi de litere. De exemplu, într-un text rus, este logic să codificați în întregime unele combinații frecvente de litere, cum ar fi „tsya”, „ayet”, „nie”, etc. Blocurile codificate sunt aranjate în ordinea descrescătoare a frecvenței, precum literele. in masa. 18.8.1, iar codificarea binară se realizează după același principiu.

În unele cazuri, se dovedește a fi rezonabil să codificați nici măcar blocuri de litere, ci bucăți întregi de text semnificative. De exemplu, pentru a ușura telegraful în timpul sărbătorilor, este recomandabil să codificați texte standard întregi cu numere convenționale, cum ar fi:

„Felicitări pentru Anul Nou, vă doresc multă sănătate și succes în munca voastră.”

Fără să ne oprim în mod special asupra metodelor de codificare a blocurilor, ne vom limita la formularea teoremei lui Shannon legate de aici.

Să existe o sursă de informaţie şi un receptor conectat printr-un canal de comunicaţie (Fig. 18.8.1).

Este cunoscută productivitatea sursei informaționale, adică numărul mediu de unități de informații binare care provin de la sursă pe unitatea de timp (numeric este egal cu entropia medie a mesajului produs de surse pe unitatea de timp). Să fie cunoscută, în plus, capacitatea canalului, adică cantitatea maximă de informații (de exemplu, caractere binare 0 sau 1) pe care canalul este capabil să o transmită în aceeași unitate de timp. Se pune întrebarea: care ar trebui să fie capacitatea canalului pentru ca acesta să „fa față” sarcinii sale, adică pentru ca informațiile să ajungă fără întârziere de la sursă la receptor?

Răspunsul la această întrebare este dat de prima teoremă a lui Shannon. Să o formulăm aici fără dovezi.

Teorema I a lui Shannon

Dacă capacitatea canalului de comunicație este mai mare decât entropia sursei de informații pe unitatea de timp

atunci este întotdeauna posibilă codificarea unui mesaj suficient de lung astfel încât să fie transmis fără întârziere printr-un canal de comunicație. Dacă, dimpotrivă,

atunci transferul de informații fără întârziere este imposibil.