Un cod binar este un sistem de notație alcătuit din două elemente, ale căror diferite combinații servesc la reprezentarea (codarea) informațiilor.
Ca elemente ale sistemului, numerele "0" și "1" apar cel mai adesea. Dar, de fapt, notația poate fi arbitrară, pe baza naturii informațiilor care trebuie codificate.
Principalul lucru este că elementele corespondente denotă date de valoare exclusive sau opuse reciproc.
Un exemplu excelent de cod binar poate fi orice pereche de antonime, de exemplu, da / nu, alb / negru, pornire / oprire etc.
Pentru a descrie un cod binar, se folosește noțiunea de bit (mai precis, o cifră binară) care combină un grup întreg de elemente binare de cod.
De exemplu, într-un sistem care utilizează elementele de bază 0 și 1, două cifre binare pot fi reprezentate de următoarele patru combinații: 00, 01, 10 și 11.
Trei cifre binare pot avea următorul aspect: 000, 001, 010, 011, 100, 101, 110 și 111.
Numărul de cifre binare poate fi arbitrar mare, în funcție de natura sarcinilor care trebuie efectuate și de cantitatea de informații care trebuie codificate.
Forma de raportare a datelor utilizând caracteristica de biți dintr-un cod binar pozițională, care este baza sistemului binar, utilizat tot timpul în toate tipurile de calculatoare.
Creșterea cifrei cu unul va duce la dublarea numărului de combinații în codul binar pozițional.
Cu două simboluri (vezi exemplele de mai sus), avem 4 combinații, cu trei - 8 combinații, cu patru - 16 combinații, cu n simboluri - 2 combinații.
Cu ajutorul a două simboluri, puteți codifica aproape orice informație. Dovada sunt computerele moderne. a cărui muncă este imposibilă fără o astfel de codificare.
O caracteristică caracteristică a sistemelor numerice care utilizează codul binar de biți este posibilitatea de a desemna același număr printr-o combinație diferită de simboluri, care diferă în ceea ce privește adâncimea de biți.
De exemplu, în sistemul binar, unitatea poate fi reprezentată în moduri diferite: 1, 01, 001, 0001 etc.
Numerotarea cifrelor binare se face de la dreapta la stânga.
Dacă luăm codul binar 01011, atunci primul bit va avea valoarea 1, a doua cifră va fi 1, a treia cifră 0, al patrulea bit 1 și a cincea cifră 0,
Exemple de cod binar
Cu ajutorul a trei cifre binare, puteți desemna opt cifre zecimale de la 0 la 7:
0 = 000
1 = 001
2 = 010
3 = 011
4 = 100
5 = 101
6 = 110
7 = 111
Acest tabel reflectă conversia numerelor zecimale în cod binar.
Fotografia 1. Comutatoarele sunt un exemplu perfect de cod binar
Deoarece numărul de biți este nelimitat, este posibilă criptarea oricărui număr zecimal obișnuit cu această codificare.
Pentru a transfera cod binar înapoi la un număr zecimal trebuie mai întâi cod binar cifră înmulțită cu 1 (sau 2 0), nivelul 2 - 2 (sau 2 1), al treilea nivel - de 4 (sau 2 2) , bitul n-a - cu 2 n-1. și apoi adăugați valorile rezultate.
De ce am nevoie de un cod binar
Scopul principal al codului binar este criptarea și codarea informațiilor.
Principalele avantaje ale acestuia sunt numărul minim de simboluri utilizate pentru codificarea informațiilor și confortul - din punct de vedere al mașinii - de a opera cu date criptate cu ajutorul lor.
Să presupunem că trebuie să codificăm expresia "VARĂ COLD".
Să stabilim corespondența arbitrară a literelor cu codul binar: X - 000, 0 - 001, A - 010, D - 011, H - 100, E - 101, T - 111.
Fotografia 2. Codul binar stă la baza sistemului de numere binare
Apoi, expresia codată va avea următoarea formă: 000001010001011100001101010101111001 (36 caractere).
Dacă destinatarul codului criptat știe că codarea fiecărei litere se bazează pe trei cifre binare, atunci nu va fi dificil să descifrați expresia.
În acest caz avem de-a face cu codul unic decodificat (adică, codul poate fi descifrat într-un singur mod).
Pentru a reduce lungimea codului, se poate folosi un cod binar neuniform.
Apoi, codificatorul deviază în mod conștient de la principiul digitizării, atribuind literelor un număr arbitrar de cifre.
De exemplu, dacă X va avea denumirea 01, O - 00, L - 100, L - 101, H - 110, E - 111, T - 1111, mențiunea "VARA COLD" va corespunde 01001000010111000111100111111100 string (32 caractere).
Această frază va fi decodificat în mod clar un fragment din „rece“ și apoi spărgătorii de coduri trebuie să o enigmă în alegerea unei interpretări rezonabile a codului: „E vară“, „E Lehel“, „E LTEO“, „TOEEL“ etc.
Acest exemplu indică probleme legate de utilizarea combinațiilor de coduri binare nerezonabile.
Cu selectarea adecvată a codului binar non-uniformă nu numai că poate reduce cantitatea de mesaje transmise, dar, de asemenea, pentru a începe decriptare sale după ce a primit deja primele câteva caractere, fără a fi nevoie să aștepte până când este primit mesajul în întregime.
Tipuri de coduri binare
Reprezentarea valorilor întregi în memoria calculatorului se realizează utilizând un cod binar nesemnat. bazată pe reprezentarea cifrelor binare de puterile a două.
În acest caz, valoarea numărului minim în codul binar n este de 0, iar valoarea maximă va fi calculată folosind formula 2 n -1.
De exemplu, pentru un cod de 16 biți, sunt permise valorile de la 0 la 65535.
În practică, este necesară rezolvarea unor sarcini mai complicate.
Fotografia 3. Cu ajutorul codului binar puteți codifica orice doriți
Mașina sau computerul este dificil de explicat diferența dintre numerele pozitive și negative. Numerele punctelor în virgulă, numerele fracționate sau transcendente necesită și o reprezentare separată.
Inginerii au venit cu o modalitate de a evita aceste probleme fără a depăși utilizarea codului binar. Pentru a rezolva aceste probleme, se utilizează un cod binar semnat.
În special, cea mai mare cifră din cuvânt este folosită pentru a determina semnul numărului.
Dacă cuvântul începe cu simbolul "0", atunci numărul este pozitiv (are semnul "+"), dacă este din simbolul "1", atunci este negativ (are semnul "-").
Când utilizați un cod pe 16 biți, în acest caz putem cripta numerele în intervalul de la -32767 la +32767.
Lipsa unui cod binar semnat constă în necesitatea procesării separate a cifrelor digitale și semnate, ceea ce îi obligă pe dezvoltatorii de software să recurgă la algoritmi sofisticați de prelucrare a datelor.
În consecință, codul programului crește în volum, iar viteza de lucru este încetinită.