Contacte

Valorile codului binar. Cod binar. Număr binar cu complement a doi cu semn

08. 06.2018

Blogul lui Dmitri Vassiyarov.

Cod binar - unde și cum este folosit?

Astăzi sunt deosebit de bucuroasă să vă cunosc, dragii mei cititori, pentru că mă simt ca un profesor care, chiar de la prima lecție, începe să prezinte clasa literelor și cifrelor. Și din moment ce trăim într-o lume a tehnologiei digitale, vă voi spune ce este codul binar, care este baza lor.

Să începem cu terminologia și să aflăm ce înseamnă binar. Pentru clarificare, să revenim la calculul nostru obișnuit, care se numește „zecimal”. Adică folosim 10 cifre, care fac posibilă operarea convenabilă cu diverse numere și păstrarea înregistrărilor corespunzătoare.

Urmând această logică, sistemul binar prevede utilizarea a doar două caractere. În cazul nostru, acestea sunt doar „0” (zero) și „1” unul. Și aici vreau să vă avertizez că ipotetic ar putea exista și alte simboluri în locul lor, dar tocmai aceste valori, care indică absența (0, gol) și prezența unui semnal (1 sau „stick”), vor ajuta înțelegem în continuare structura codului binar.

De ce este necesar codul binar?

Înainte de apariția computerelor, erau utilizate diverse sisteme automate, al căror principiu de funcționare se baza pe recepția unui semnal. Senzorul este declanșat, circuitul este închis și un anumit dispozitiv este pornit. Fără curent în circuitul de semnal - fără funcționare. Dispozitivele electronice au făcut posibilă realizarea de progrese în procesarea informațiilor reprezentate de prezența sau absența tensiunii într-un circuit.

Complicarea lor ulterioară a dus la apariția primelor procesoare, care și-au făcut și treaba, procesând un semnal format din impulsuri alternate într-un anumit fel. Nu vom aprofunda în detaliile programului acum, dar următoarele sunt importante pentru noi: dispozitivele electronice s-au dovedit a fi capabile să distingă o anumită secvență de semnale de intrare. Desigur, este posibil să descriem combinația condiționată astfel: „există un semnal”; "nici un semnal"; „există un semnal”; „Există un semnal”. Puteți chiar simplifica notația: „există”; "Nu"; "Există"; "Există".

Dar este mult mai ușor să notăm prezența unui semnal cu o unitate „1”, iar absența acestuia cu un zero „0”. Apoi putem folosi în schimb un cod binar simplu și concis: 1011.

Desigur, tehnologia procesorului a făcut un pas mult înainte și acum cipurile sunt capabile să perceapă nu doar o secvență de semnale, ci programe întregi scrise cu comenzi specifice constând din caractere individuale.

Dar pentru a le înregistra, se folosește același cod binar, format din zerouri și unu, corespunzătoare prezenței sau absenței unui semnal. Dacă el există sau nu, nu contează. Pentru un cip, oricare dintre aceste opțiuni este o singură informație, care se numește „bit” (bit este unitatea oficială de măsură).

În mod convențional, un simbol poate fi codificat ca o secvență de mai multe caractere. Două semnale (sau absența lor) pot descrie doar patru opțiuni: 00; 01;10; 11. Această metodă de codificare se numește pe doi biți. Dar poate fi și:

  • Patru biți (ca în exemplul din paragraful de mai sus 1011) vă permite să scrieți 2^4 = 16 combinații de simboluri;
  • Opt biți (de exemplu: 0101 0011; 0111 0001). La un moment dat a fost de cel mai mare interes pentru programare, deoarece acoperea 2^8 = 256 de valori. Acest lucru a făcut posibilă descrierea tuturor cifrelor zecimale, a alfabetului latin și a caracterelor speciale;
  • Șaisprezece biți (1100 1001 0110 1010) și mai mare. Dar înregistrările cu o asemenea lungime sunt deja pentru sarcini moderne, mai complexe. Procesoarele moderne folosesc arhitectura pe 32 și 64 de biți;

Sincer, nu există o versiune oficială unică, dar s-a întâmplat că combinația de opt caractere a devenit măsura standard a informațiilor stocate numită „octet”. Acest lucru ar putea fi aplicat chiar și unei litere scrise în cod binar de 8 biți. Deci, dragii mei prieteni, vă rog să vă amintiți (dacă cineva nu știa):

8 biți = 1 octet.

Asa este. Deși un caracter scris cu o valoare de 2 sau 32 de biți poate fi numit și octet. Apropo, datorită codului binar putem estima volumul fișierelor măsurat în octeți și viteza de transmitere a informațiilor și pe Internet (biți pe secundă).

Codificarea binară în acțiune

Pentru a standardiza înregistrarea informațiilor pentru computere, au fost dezvoltate mai multe sisteme de codare, dintre care unul, ASCII, bazat pe înregistrarea pe 8 biți, a devenit larg răspândit. Valorile din acesta sunt distribuite într-un mod special:

  • primele 31 de caractere sunt caractere de control (de la 00000000 la 00011111). Servire pentru comenzi de service, ieșire către o imprimantă sau un ecran, semnale sonore, formatare text;
  • următoarele de la 32 la 127 (00100000 – 01111111) alfabet latin și simboluri auxiliare și semne de punctuație;
  • restul, până la al 255-lea (10000000 – 11111111) – alternativă, parte a tabelului pentru sarcini speciale și afișarea alfabetelor naționale;

Decodificarea valorilor din acesta este prezentată în tabel.

Dacă credeți că „0” și „1” sunt situate într-o ordine haotică, atunci vă înșelați profund. Folosind orice număr ca exemplu, vă voi arăta un model și vă voi învăța cum să citiți numerele scrise în cod binar. Dar pentru aceasta vom accepta câteva convenții:

  • Vom citi un octet de 8 caractere de la dreapta la stânga;
  • Dacă în numerele obișnuite folosim cifrele unu, zeci, sute, atunci aici (citind în ordine inversă) pentru fiecare bit sunt reprezentate diferite puteri ale „două”: 256-124-64-32-16-8- 4-2 -1;
  • Acum ne uităm la codul binar al numărului, de exemplu 00011011. Acolo unde există un semnal „1” în poziția corespunzătoare, luăm valorile acestui bit și le însumăm în modul obișnuit. În consecință: 0+0+0+32+16+0+2+1 = 51. Puteți verifica corectitudinea acestei metode uitându-vă la tabelul de coduri.

Acum, prietenii mei iscoditori, nu numai că știți ce este codul binar, dar știți și cum să convertiți informațiile criptate de acesta.

Limbă înțeleasă de tehnologia modernă

Desigur, algoritmul de citire a codului binar de către dispozitivele procesoare este mult mai complicat. Dar îl puteți folosi pentru a scrie orice doriți:

  • Informații text cu opțiuni de formatare;
  • Numerele și orice operațiuni cu acestea;
  • Imagini grafice și video;
  • Sunete, inclusiv cele dincolo de raza noastră de auz;

În plus, datorită simplității „prezentării”, sunt posibile diferite moduri de înregistrare a informațiilor binare:

  • Prin modificarea câmpului magnetic cu ;
  • Avantajele codificării binare sunt completate de posibilități aproape nelimitate de transmitere a informațiilor la orice distanță. Aceasta este metoda de comunicare folosită cu nave spațiale și sateliți artificiali.

    Deci, astăzi sistemul de numere binare este un limbaj care este înțeles de majoritatea dispozitivelor electronice pe care le folosim. Și ceea ce este cel mai interesant este că deocamdată nu este prevăzută nicio altă alternativă.

    Cred că informațiile pe care le-am prezentat vă vor fi suficiente pentru a începe. Și apoi, dacă va apărea o astfel de nevoie, toată lumea va putea aprofunda într-un studiu independent al acestui subiect.

    Îmi voi lua rămas bun și după o scurtă pauză îți voi pregăti un nou articol pe blogul meu pe un subiect interesant.

    E mai bine daca imi spui singur ;)

    Pe curând.

    Dacă sunteți interesat să învățați cum să citiți numerele binare, este important să înțelegeți cum funcționează numerele binare. Sistemul binar este cunoscut ca sistem de numerotare „de bază 2”, ceea ce înseamnă că există două numere posibile pentru fiecare cifră; unu sau zero. Numerele mari sunt scrise prin adăugarea unor binar sau zerouri suplimentare.



    Înțelegerea numerelor binare


    Să știi cum să citești fișierele binare nu este esențial pentru utilizarea computerelor. Dar este bine să înțelegeți conceptul pentru a înțelege mai bine modul în care computerele stochează numerele în memorie. De asemenea, vă permite să înțelegeți termeni precum 16 biți, 32 de biți, 64 de biți și măsurători de memorie, cum ar fi octeți (8 biți).



    „Citirea” codului binar înseamnă de obicei convertirea numărului binar în numărul de bază 10 (zecimal) cu care oamenii sunt familiarizați. Această conversie este destul de ușor de făcut în mintea ta odată ce înțelegi cum funcționează un limbaj binar.

    Fiecare cifră dintr-un număr binar are o semnificație specifică, cu excepția cazului în care cifra este zero. Odată ce ați determinat toate aceste valori, pur și simplu le adăugați împreună pentru a obține valoarea zecimală de 10 cifre a numărului binar. Pentru a vedea cum funcționează, luați numărul binar 11001010.


    1. Cel mai bun mod de a citi un număr binar este să începeți cu cifra cea mai din dreapta și să lucrați la stânga. Puterea acestei prime locații este zero, adică valoarea acestei cifre, dacă nu este zero, este egală cu două puteri de zero sau unu. În acest caz, deoarece cifra este zero, valoarea pentru acea locație va fi zero.



    2. Apoi treceți la următoarea cifră. Dacă este unul, atunci calculează doi la puterea unuia. Notează această valoare. În acest exemplu, valoarea este o putere a doi egal cu doi.



    3. Continuați să repetați acest proces până când ajungeți la numărul din stânga.



    4. Pentru a termina, tot ce trebuie să faceți este să adunați toate aceste numere împreună pentru a obține valoarea zecimală totală a numărului binar: 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202 .


    Nota: Un alt mod de a vedea întregul proces sub formă de ecuație este următorul: 1 x 2 7 + 1 x 2 6 + 0 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 0 x 2 0 = 20.


    Numere binare cu semnătură


    Metoda de mai sus funcționează pentru numere binare de bază fără semn. Cu toate acestea, computerele au nevoie de o modalitate de a reprezenta numere negative, de asemenea, folosind cod binar.


    Din acest motiv, computerele folosesc numere binare cu semne. În acest tip de sistem, cifra din stânga este cunoscută sub numele de bit de semn, iar cifrele rămase sunt cunoscute ca biți de amplitudine.


    Citirea unui număr binar cu semn este aproape la fel ca a unui număr nesemnat, cu o mică diferență.


    1. Urmați aceeași procedură ca mai sus pentru un număr binar fără semn, dar opriți-vă după ce ajungeți la bitul din stânga.



    2. Pentru a determina semnul, priviți partea din stânga. Dacă este unul, atunci numărul este negativ. Dacă este zero, atunci numărul este pozitiv.



    3. Acum faceți aceleași calcule ca înainte, dar aplicați semnul corespunzător numărului indicat de bitul din stânga: 64 + 0 + 0 + 8 + 0 + 2 + 0 = -74 .


    4. Metoda binară cu semne permite computerelor să reprezinte numere pozitive sau negative. Cu toate acestea, consumă bitul principal, ceea ce înseamnă că numerele mari necesită puțin mai multă memorie decât numerele binare fără semn.

    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. Informatică și TIC: manual pentru clasa a 5-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).

    Se numește setul de caractere cu care este scris textul alfabet.

    Numărul de caractere din alfabet este acesta putere.

    Formula pentru determinarea cantității de informații: N=2b,

    unde N este puterea alfabetului (numărul de caractere),

    b – numărul de biți (greutatea informației simbolului).

    Alfabetul cu o capacitate de 256 de caractere poate găzdui aproape toate caracterele necesare. Acest alfabet se numește suficient.

    Deoarece 256 = 2 8, atunci greutatea unui caracter este de 8 biți.

    Unitatea de măsură 8 biți a primit numele 1 octet:

    1 octet = 8 biți.

    Codul binar al fiecărui caracter din textul computerului ocupă 1 octet de memorie.

    Cum sunt reprezentate informațiile text în memoria computerului?

    Comoditatea codificării caracterelor octet cu octet este evidentă deoarece un octet este cea mai mică parte adresabilă a memoriei și, prin urmare, procesorul poate accesa fiecare caracter separat atunci când procesează text. Pe de altă parte, 256 de caractere reprezintă un număr destul de suficient pentru a reprezenta o mare varietate de informații simbolice.

    Acum se pune întrebarea, ce cod binar de opt biți să aloce fiecărui caracter.

    Este clar că aceasta este o chestiune condiționată; puteți veni cu multe metode de codificare.

    Toate caracterele alfabetului computerului sunt numerotate de la 0 la 255. Fiecare număr corespunde unui cod binar de opt biți de la 00000000 la 11111111. Acest cod este pur și simplu numărul de serie al caracterului din sistemul de numere binar.

    Un tabel în care tuturor caracterelor alfabetului computerului li se atribuie numere de serie se numește tabel de codificare.

    Diferite tipuri de computere folosesc tabele de codificare diferite.

    Tabelul a devenit standardul internațional pentru computere ASCII(citiți aski) (Codul standard american pentru schimbul de informații).

    Tabelul de coduri ASCII este împărțit în două părți.

    Doar prima jumătate a tabelului este standardul internațional, adică. simboluri cu numere din 0 (00000000), până la 127 (01111111).

    Structura tabelului de codificare ASCII

    Număr de serie

    Cod

    Simbol

    0 - 31

    00000000 - 00011111

    Simbolurile cu numere de la 0 la 31 sunt de obicei numite simboluri de control.
    Funcția lor este de a controla procesul de afișare a textului pe ecran sau de tipărire, emiterea unui semnal sonor, marcarea textului etc.

    32 - 127

    00100000 - 01111111

    Parte standard a tabelului (engleză). Aceasta include litere mici și mari ale alfabetului latin, numere zecimale, semne de punctuație, tot felul de paranteze, simboluri comerciale și alte simboluri.
    Caracterul 32 este un spațiu, adică. poziție goală în text.
    Toate celelalte sunt reflectate de anumite semne.

    128 - 255

    10000000 - 11111111

    Parte alternativă a tabelului (rusă).
    A doua jumătate a tabelului de coduri ASCII, numită pagina de coduri (128 de coduri, începând de la 10000000 și terminând cu 11111111), poate avea opțiuni diferite, fiecare opțiune având propriul număr.
    Pagina de coduri este folosită în primul rând pentru a găzdui alfabetele naționale, altele decât latină. În codificările naționale rusești, caracterele din alfabetul rus sunt plasate în această parte a tabelului.

    Prima jumătate a tabelului de coduri ASCII


    Vă rugăm să rețineți că în tabelul de codificare, literele (majuscule și mici) sunt aranjate în ordine alfabetică, iar numerele sunt ordonate crescător. Această respectare a ordinii lexicografice în aranjarea simbolurilor se numește principiul codificării secvențiale a alfabetului.

    Pentru literele alfabetului rus, se respectă și principiul codificării secvențiale.

    A doua jumătate a tabelului de coduri ASCII


    Din păcate, în prezent există cinci codificări chirilice diferite (KOI8-R, Windows. MS-DOS, Macintosh și ISO). Din această cauză, apar adesea probleme cu transferul textului rusesc de la un computer la altul, de la un sistem software la altul.

    Din punct de vedere cronologic, unul dintre primele standarde pentru codificarea literelor rusești pe computere a fost KOI8 („Cod de schimb de informații, 8 biți”). Această codificare a fost folosită încă din anii 70 pe computerele din seria de calculatoare ES, iar de la mijlocul anilor 80 a început să fie folosită în primele versiuni rusificate ale sistemului de operare UNIX.

    De la începutul anilor 90, vremea dominației sistemului de operare MS DOS, codificarea CP866 rămâne („CP” înseamnă „Pagină de coduri”, „pagină de coduri”).

    Computerele Apple care rulează sistemul de operare Mac OS folosesc propria lor codificare Mac.

    În plus, Organizația Internațională de Standardizare (ISO) a aprobat o altă codificare numită ISO 8859-5 ca standard pentru limba rusă.

    Cea mai comună codificare utilizată în prezent este Microsoft Windows, prescurtat CP1251.

    De la sfârșitul anilor 90, problema standardizării codificării caracterelor a fost rezolvată prin introducerea unui nou standard internațional numit Unicode. Aceasta este o codificare pe 16 biți, adică alocă 2 octeți de memorie pentru fiecare caracter. Desigur, acest lucru crește de 2 ori cantitatea de memorie ocupată. Dar un astfel de tabel de coduri permite includerea a până la 65536 de caractere. Specificația completă a standardului Unicode include toate alfabetele existente, dispărute și create artificial din lume, precum și multe simboluri matematice, muzicale, chimice și alte simboluri.

    Să încercăm să folosim un tabel ASCII pentru a ne imagina cum vor arăta cuvintele în memoria computerului.

    Reprezentarea internă a cuvintelor în memoria computerului

    Uneori se întâmplă ca un text format din litere ale alfabetului rus primit de la un alt computer să nu poată fi citit - un fel de „abracadabra” este vizibil pe ecranul monitorului. Acest lucru se întâmplă deoarece computerele folosesc diferite codificări de caractere pentru limba rusă.

    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 codifică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 codării binare.
    Codurile binare sunt utilizate pe scară largă în tehnologia computerelor, necesitând doar două stări ale unui circuit electronic - „pornit” (acesta corespunde numărului 1) și „oprit” (acesta 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”). Uneven vă permite să creșteți viteza de transmitere a mesajelor datorită faptului că caracterele 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 de informații, 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.



    Ți-a plăcut articolul? Împărtășește-l