Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Recenzii
  • Codurile de sistem binare. Semnificația codului binar - de ce computerele lucrează cu unu și zero

Codurile de sistem binare. Semnificația codului binar - de ce computerele lucrează cu unu și zero

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”). 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 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.

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 probleme de miniaturizare. Deocamdată, lumea va continua să funcționeze în modul binar.

Codul binar reprezintă text, instrucțiuni ale procesorului computerului sau alte date folosind orice sistem cu două caractere. Cel mai frecvent, este un sistem de 0 și 1 care atribuie un model de cifre binare (biți) fiecărui simbol și instrucțiune. De exemplu, un șir binar de opt biți poate reprezenta oricare dintre cele 256 de valori posibile și, prin urmare, poate genera multe elemente diferite. Recenziile codului binar din comunitatea profesională globală a programatorilor indică faptul că aceasta este baza profesiei și legea principală a funcționării sistemelor informatice și a dispozitivelor electronice.

Descifrarea codului binar

În calcul și telecomunicații, codurile binare sunt utilizate pentru diferite metode de codificare a caracterelor de date în șiruri de biți. Aceste metode pot folosi șiruri de lățime fixă ​​sau variabilă. Există multe seturi de caractere și codificări pentru conversia în cod binar. În codul cu lățime fixă, fiecare literă, număr sau alt caracter este reprezentat de un șir de biți de aceeași lungime. Acest șir de biți, interpretat ca un număr binar, este de obicei afișat în tabelele de coduri în notație octală, zecimală sau hexazecimală.

Decodare binară: Un șir de biți interpretat ca un număr binar poate fi convertit într-un număr zecimal. De exemplu, litera minusculă a, dacă este reprezentată de șirul de biți 01100001 (ca în codul ASCII standard), poate fi reprezentată și ca număr zecimal 97. Convertirea codului binar în text este aceeași procedură, doar invers.

Cum functioneaza

În ce constă codul binar? Codul folosit în calculatoarele digitale se bazează pe care există doar două stări posibile: pornit. și off, de obicei notate cu zero și unu. În timp ce în sistemul zecimal, care utilizează 10 cifre, fiecare poziție este un multiplu al lui 10 (100, 1000, etc.), în sistemul binar, fiecare poziție a cifrei este un multiplu al lui 2 (4, 8, 16 etc.) . Un semnal de cod binar este o serie de impulsuri electrice care reprezintă numere, simboluri și operațiuni care trebuie efectuate.

Un dispozitiv numit ceas trimite impulsuri obișnuite, iar componente precum tranzistoarele sunt pornite (1) sau oprite (0) pentru a transmite sau bloca impulsurile. În codul binar, fiecare număr zecimal (0-9) este reprezentat de un set de patru cifre sau biți binari. Cele patru operații de bază ale aritmeticii (adunare, scădere, înmulțire și împărțire) pot fi reduse la combinații de operații algebrice booleene fundamentale pe numere binare.

Un bit în teoria comunicării și informației este o unitate de date echivalentă cu rezultatul unei alegeri între două alternative posibile în sistemul de numere binar utilizat în mod obișnuit în calculatoarele digitale.

Recenzii de cod binar

Natura codului și a datelor este o parte de bază a lumii fundamentale a IT. Acest instrument este folosit de specialiști din IT global „în culise” - programatori a căror specializare este ascunsă atenției utilizatorului obișnuit. Recenziile de cod binar de la dezvoltatori indică faptul că acest domeniu necesită un studiu profund al fundamentelor matematice și o practică extinsă în domeniul analizei și programării matematice.

Codul binar este cea mai simplă formă de cod de calculator sau de date de programare. Este reprezentat în întregime de un sistem de cifre binare. Potrivit recenziilor codului binar, acesta este adesea asociat cu codul mașinii, deoarece seturile binare pot fi combinate pentru a forma cod sursă care este interpretat de un computer sau alt hardware. Acest lucru este parțial adevărat. folosește seturi de cifre binare pentru a forma instrucțiuni.

Alături de cea mai simplă formă de cod, un fișier binar reprezintă, de asemenea, cea mai mică cantitate de date care circulă prin toate sistemele hardware și software complexe, end-to-end, care procesează resursele și activele de date actuale. Cea mai mică cantitate de date se numește bit. Șirurile curente de biți devin cod sau date care sunt interpretate de computer.

Număr binar

În matematică și electronică digitală, un număr binar este un număr exprimat în sistemul numeric de bază 2, sau sistemul numeric binar, care folosește doar două caractere: 0 (zero) și 1 (unu).

Sistemul numeric de bază 2 este o notație pozițională cu o rază de 2. Fiecare cifră este denumită bit. Datorită implementării sale simple în circuitele electronice digitale folosind reguli logice, sistemul binar este utilizat de aproape toate computerele și dispozitivele electronice moderne.

Poveste

Sistemul modern de numere binar ca bază pentru codul binar a fost inventat de Gottfried Leibniz în 1679 și prezentat în articolul său „Aritmetica binară explicată”. Numerele binare au fost esențiale pentru teologia lui Leibniz. El credea că numerele binare simbolizează ideea creștină de creativitate ex nihilo, sau creație din nimic. Leibniz a încercat să găsească un sistem care să transforme afirmațiile verbale ale logicii în date pur matematice.

Sistemele binare care precedă Leibniz au existat și în lumea antică. Un exemplu este sistemul binar chinezesc I Ching, unde textul divinației se bazează pe dualitatea yin și yang. În Asia și Africa, tobe cu fante cu tonuri binare au fost folosite pentru a codifica mesajele. Savantul indian Pingala (circa secolul al V-lea î.Hr.) a dezvoltat un sistem binar pentru a descrie prozodia în lucrarea sa Chandashutrema.

Locuitorii insulei Mangareva din Polinezia Franceză au folosit un sistem hibrid binar-zecimal până în 1450. În secolul al XI-lea, omul de știință și filozoful Shao Yong a dezvoltat o metodă de organizare a hexagramelor care corespunde secvenței de la 0 la 63, așa cum este reprezentată într-un format binar, cu yin fiind 0 și yang fiind 1. Ordinea este, de asemenea, o ordine lexicografică în blocuri de elemente selectate dintr-un set de două elemente.

Timp nou

În 1605, a discutat despre un sistem în care literele alfabetului ar putea fi reduse la secvențe de cifre binare, care ar putea fi apoi codificate ca variații subtile de tip în orice text aleatoriu. Este important de menționat că Francis Bacon a fost cel care a completat teoria generală a codificării binare cu observația că această metodă poate fi utilizată cu orice obiect.

Un alt matematician și filosof pe nume George Boole a publicat o lucrare în 1847 numită „Analiza matematică a logicii”, care a descris sistemul algebric al logicii cunoscut astăzi sub numele de algebră booleană. Sistemul s-a bazat pe o abordare binară, care a constat din trei operații de bază: AND, OR și NOT. Acest sistem nu a devenit operațional până când un student absolvent al MIT pe nume Claude Shannon a observat că algebra booleană pe care o învăța era similară cu un circuit electric.

Shannon a scris o disertație în 1937 care a făcut descoperiri importante. Teza lui Shannon a devenit punctul de plecare pentru utilizarea codului binar în aplicații practice precum computere și circuite electrice.

Alte forme de cod binar

Bitstring nu este singurul tip de cod binar. Un sistem binar în general este orice sistem care permite doar două opțiuni, cum ar fi un comutator într-un sistem electronic sau un simplu test adevărat sau fals.

Braille este un tip de cod binar utilizat pe scară largă de către nevăzători pentru a citi și scrie prin atingere, numit după creatorul său Louis Braille. Acest sistem este format din grile de șase puncte fiecare, trei pe coloană, în care fiecare punct are două stări: ridicat sau îngroșat. Diferite combinații de puncte pot reprezenta toate literele, numerele și semnele de punctuație.

Codul standard american pentru schimbul de informații (ASCII) utilizează un cod binar de 7 biți pentru a reprezenta text și alte caractere în computere, echipamente de comunicații și alte dispozitive. Fiecărei litere sau simbol i se atribuie un număr de la 0 la 127.

Decimală codificată binar sau BCD este o reprezentare codificată binar a valorilor întregi care utilizează un grafic de 4 biți pentru a codifica cifrele zecimale. Patru biți binari pot codifica până la 16 valori diferite.

În numerele codificate în BCD, numai primele zece valori din fiecare nibble sunt valide și codifică cifrele zecimale cu zerouri după nouă. Cele șase valori rămase sunt invalide și pot provoca fie o excepție a mașinii, fie un comportament nespecificat, în funcție de implementarea computerului a aritmeticii BCD.

Aritmetica BCD este uneori preferată față de formatele de numere cu virgulă mobilă în aplicațiile comerciale și financiare în care comportamentul complex de rotunjire a numerelor este nedorit.

Aplicație

Majoritatea computerelor moderne folosesc un program de cod binar pentru instrucțiuni și date. CD-urile, DVD-urile și discurile Blu-ray reprezintă audio și video în formă binară. Apelurile telefonice sunt efectuate digital în rețelele de telefonie mobilă și pe distanțe lungi, folosind modularea codului de impuls și în rețelele voce prin IP.

Codul binar este o formă de înregistrare a informațiilor sub formă de unu și zero. Acesta este pozițional cu o bază de 2. Astăzi, codul binar (tabelul prezentat puțin mai jos conține câteva exemple de scriere a numerelor) este folosit în toate dispozitivele digitale fără excepție. Popularitatea sa se explică prin fiabilitatea ridicată și simplitatea acestei forme de înregistrare. Aritmetica binară este foarte simplă și, în consecință, este ușor de implementat la nivel hardware. componentele (sau, cum sunt numite și logice) sunt foarte fiabile, deoarece funcționează în doar două stări: una logică (există curent) și zero logic (fără curent). Astfel, se compară favorabil cu componentele analogice, a căror funcționare se bazează pe procese tranzitorii.

Cum este compusă notația binară?

Să ne dăm seama cum se formează o astfel de cheie. Un bit de cod binar poate conține doar două stări: zero și unu (0 și 1). Când folosiți doi biți, devine posibil să scrieți patru valori: 00, 01, 10, 11. O intrare de trei biți conține opt stări: 000, 001 ... 110, 111. Ca rezultat, aflăm că lungimea lui codul binar depinde de numărul de biți. Această expresie poate fi scrisă folosind următoarea formulă: N =2m, unde: m este numărul de cifre, iar N este numărul de combinații.

Tipuri de coduri binare

În microprocesoare, astfel de chei sunt folosite pentru a înregistra diverse informații procesate. Lățimea codului binar poate depăși semnificativ memoria încorporată. În astfel de cazuri, numerele lungi ocupă mai multe locații de stocare și sunt procesate folosind mai multe comenzi. În acest caz, toate sectoarele de memorie care sunt alocate pentru codul binar pe mai mulți octeți sunt considerate ca un singur număr.

În funcție de necesitatea de a furniza această sau acea informație, se disting următoarele tipuri de chei:

  • nesemnat;
  • coduri de caractere întregi directe;
  • inverse semnate;
  • semnează suplimentar;
  • Cod gri;
  • Cod Grey Express;
  • coduri fracționate.

Să aruncăm o privire mai atentă la fiecare dintre ele.

Cod binar nesemnat

Să ne dăm seama care este acest tip de înregistrare. În codurile întregi fără semn, fiecare cifră (binară) reprezintă o putere a doi. În acest caz, cel mai mic număr care poate fi scris în această formă este zero, iar maximul poate fi reprezentat prin următoarea formulă: M = 2 n -1. Aceste două numere definesc complet intervalul cheii care poate fi folosită pentru a exprima un astfel de cod binar. Să ne uităm la capacitățile formularului de înregistrare menționat. Atunci când utilizați acest tip de cheie fără semn, constând din opt biți, intervalul de numere posibile va fi de la 0 la 255. Un cod de șaisprezece biți va avea un interval de la 0 la 65535. În procesoarele pe opt biți, sunt utilizate două sectoare de memorie. pentru a stoca și a scrie astfel de numere, care sunt situate în destinații adiacente. Comenzile speciale asigură lucrul cu astfel de taste.

Coduri cu semne întregi directe

În acest tip de cheie binară, bitul cel mai semnificativ este folosit pentru a înregistra semnul numărului. Zero corespunde unui plus, iar unu corespunde unui minus. Ca urmare a introducerii acestei cifre, gama de numere codificate se deplasează în partea negativă. Se pare că o cheie binară întreagă cu semn de opt biți poate scrie numere în intervalul de la -127 la +127. Șaisprezece biți - în intervalul de la -32767 la +32767. Microprocesoarele pe opt biți folosesc două sectoare adiacente pentru a stoca astfel de coduri.

Dezavantajul acestei forme de înregistrare este că semnul și biții digitali ai cheii trebuie procesați separat. Algoritmii programelor care lucrează cu aceste coduri se dovedesc a fi foarte complexi. Pentru a schimba și evidenția biții de semn, este necesar să folosiți mecanisme de mascare a acestui simbol, care contribuie la o creștere bruscă a dimensiunii software-ului și la o scădere a performanței acestuia. Pentru a elimina acest dezavantaj, a fost introdus un nou tip de cheie - un cod binar invers.

Cheie inversă semnată

Această formă de înregistrare diferă de codurile directe doar prin aceea că numărul negativ din ea este obținut prin inversarea tuturor biților cheii. În acest caz, biții digitali și de semn sunt identici. Datorită acestui fapt, algoritmii de lucru cu acest tip de cod sunt simplificați semnificativ. Cu toate acestea, cheia inversă necesită un algoritm special pentru a recunoaște caracterul din prima cifră și a calcula valoarea absolută a numărului. Precum și restabilirea semnului valorii rezultate. Mai mult, în codurile inverse și înainte ale numerelor, două taste sunt folosite pentru a scrie zero. În ciuda faptului că această valoare nu are un semn pozitiv sau negativ.

Număr binar cu complement a doi cu semn

Acest tip de înregistrare nu are dezavantajele enumerate ale cheilor anterioare. Astfel de coduri permit însumarea directă atât a numerelor pozitive, cât și a celor negative. În acest caz, nu se efectuează nicio analiză a bitului de semn. Toate acestea sunt posibile prin faptul că numerele complementare sunt un inel natural de simboluri, mai degrabă decât formațiuni artificiale, cum ar fi tastele înainte și înapoi. Mai mult, un factor important este că este extrem de ușor să efectuați calcule de complement în coduri binare. Pentru a face acest lucru, trebuie doar să adăugați unul la tasta inversă. Când utilizați acest tip de cod de semn, format din opt cifre, intervalul de numere posibile va fi de la -128 la +127. O cheie pe șaisprezece biți va avea un interval de la -32768 la +32767. Procesoarele pe opt biți folosesc și două sectoare adiacente pentru a stoca astfel de numere.

Codul de complement al binarului doi este interesant datorită efectului său observabil, care se numește fenomen de propagare a semnelor. Să ne dăm seama ce înseamnă asta. Acest efect este că, în procesul de conversie a unei valori de un singur octet într-una de două octeți, este suficient să atribuiți valorile biților de semn ai octetului inferior fiecărui bit al octetului înalt. Se pare că puteți folosi cei mai semnificativi biți pentru a-l stoca pe cel semnat. În acest caz, valoarea cheii nu se schimbă deloc.

Cod gri

Această formă de înregistrare este în esență o cheie cu un singur pas. Adică, în procesul de trecere de la o valoare la alta, doar un bit de informație se modifică. În acest caz, o eroare în citirea datelor duce la o tranziție de la o poziție la alta cu o ușoară schimbare în timp. Cu toate acestea, obținerea unui rezultat complet incorect al poziției unghiulare cu un astfel de proces este complet exclusă. Avantajul unui astfel de cod este capacitatea sa de a oglindi informații. De exemplu, inversând cei mai semnificativi biți, puteți schimba pur și simplu direcția de numărare. Acest lucru se întâmplă datorită intrării de control a complementului. În acest caz, valoarea de ieșire poate fi fie în creștere, fie în scădere pentru o direcție fizică de rotație a axei. Deoarece informațiile înregistrate în tasta Gri sunt codificate exclusiv în natură, care nu conțin date numerice reale, înainte de continuarea lucrărilor, este necesar să le convertiți mai întâi în forma binară obișnuită de înregistrare. Acest lucru se face folosind un convertor special - decodorul Gray-Binar. Acest dispozitiv este ușor de implementat folosind elemente logice elementare atât în ​​hardware cât și în software.

Cod expres gri

Tasta standard într-un singur pas a lui Gray este potrivită pentru soluțiile care sunt reprezentate ca numere, doi. În cazurile în care este necesară implementarea altor soluții, numai secțiunea din mijloc este tăiată din această formă de înregistrare și utilizată. Ca rezultat, natura într-un singur pas a cheii este păstrată. Cu toate acestea, în acest cod, începutul intervalului numeric nu este zero. Este deplasat cu valoarea specificată. În timpul procesării datelor, jumătate din diferența dintre rezoluția inițială și cea redusă este scăzută din impulsurile generate.

Reprezentarea unui număr fracționar în cheie binară cu virgulă fixă

În procesul de lucru, trebuie să operați nu numai cu numere întregi, ci și cu fracții. Astfel de numere pot fi scrise folosind coduri directe, inverse și complementare. Principiul construcției cheilor menționate este același cu cel al numerelor întregi. Până acum, credeam că virgula binară ar trebui să fie în dreapta cifrei cele mai puțin semnificative. Dar asta nu este adevărat. Poate fi situat în stânga cifrei celei mai semnificative (în acest caz, doar numerele fracționale pot fi scrise ca variabilă), iar în mijlocul variabilei (pot fi scrise valori mixte).

Reprezentare binară în virgulă mobilă

Această formă este folosită pentru a scrie sau invers - foarte mic. Exemplele includ distanțe interstelare sau dimensiunile atomilor și electronilor. Când se calculează astfel de valori, ar trebui să se utilizeze un cod binar foarte mare. Cu toate acestea, nu trebuie să luăm în considerare distanțele cosmice cu precizie milimetrică. Prin urmare, forma de notație în virgulă fixă ​​este ineficientă în acest caz. O formă algebrică este utilizată pentru a afișa astfel de coduri. Adică, numărul este scris ca o mantisă înmulțită cu zece la o putere care reflectă ordinea dorită a numărului. Ar trebui să știți că mantisa nu trebuie să fie mai mare de unu și un zero nu trebuie scris după virgulă.

Se crede că calculul binar a fost inventat la începutul secolului al XVIII-lea de către matematicianul german Gottfried Leibniz. Cu toate acestea, după cum au descoperit recent oamenii de știință, cu mult înainte de insula polineziană Mangareva, a fost folosit acest tip de aritmetică. În ciuda faptului că colonizarea a distrus aproape complet sistemele de numere originale, oamenii de știință au restaurat tipuri complexe de numărare binare și zecimale. În plus, omul de știință Nunez susține că codarea binară a fost folosită în China antică încă din secolul al IX-lea î.Hr. e. Alte civilizații antice, cum ar fi mayașii, au folosit, de asemenea, combinații complexe de sisteme zecimale și binare pentru a urmări intervalele de timp și fenomenele astronomice.

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, au fost 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). Servește 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.

    Cele mai bune articole pe această temă