Pozdrav u binarnoj verziji. Binarni kod

Računari ne razumiju riječi i brojeve kao ljudi. Savremeni softver dozvoljava krajnjem korisniku da to ignoriše, ali na najnižim nivoima vaš računar radi na binarnom električnom signalu koji ima samo dve države: ima li struje ili ne. Da bi "razumeo" složene podatke, vaš računar ih mora kodirati u binarnom formatu.

Binarni sistem se zasniva na dve cifre, 1 i 0, koje odgovaraju uključenim i isključenim stanjima koja vaš računar može da razume. Verovatno ste upoznati sa decimalnim sistemom. Koristi deset cifara, od 0 do 9, a zatim prelazi na sljedeći red kako bi formirao dvocifrene brojeve, pri čemu je svaki broj deset puta veći od prethodnog. Binarni sistem je sličan, pri čemu je svaka cifra dvostruko veća od prethodne.

Brojanje u binarnom formatu

U binarnom izrazu, prva cifra je ekvivalentna 1 u decimalnom sistemu. Druga cifra je 2, treća je 4, četvrta je 8, i tako dalje - svaki put se udvostručuje. Dodavanjem svih ovih vrijednosti dobit ćete broj u decimalnom formatu.

1111 (binarno) = 8 + 4 + 2 + 1 = 15 (u decimalnom)

Računanje 0 nam daje 16 mogućih vrijednosti za četiri binarna bita. Pomerite 8 bita i dobićete 256 mogućih vrednosti. Ovo zauzima mnogo više prostora za predstavljanje jer nam četiri decimalne znamenke daju 10.000 mogućih vrijednosti. Naravno, binarni kod zauzima više prostora, ali računari razumiju binarne datoteke mnogo bolje od decimalnog sistema. A za neke stvari, poput logičke obrade, binarno je bolje od decimalnog.

Treba reći da postoji još jedan osnovni sistem koji se koristi u programiranju: heksadecimalni. Iako računari ne rade u heksadecimalnom formatu, programeri ga koriste za predstavljanje binarnih adresa u ljudskom čitljivom formatu kada pišu kod. To je zato što dvije cifre u heksadecimalnom broju mogu predstavljati cijeli bajt, što znači da zamjenjuju osam cifara u binarnom obliku. Heksadecimalni sistem koristi brojeve 0-9, kao i slova od A do F, da stvori dodatnih šest cifara.

Zašto računari koriste binarne datoteke?

Kratak odgovor: hardver i zakoni fizike. Svaki znak u vašem računaru je električni signal, a u ranim danima računarstva, merenje električnih signala je bilo mnogo teže. Imalo je više smisla razlikovati samo "uključeno" stanje, predstavljeno negativnim nabojem, i "isključeno" stanje, predstavljeno pozitivnim nabojem.

Za one koji ne znaju zašto je "isključeno" predstavljeno pozitivnim nabojem, to je zato što elektroni imaju negativan naboj, a više elektrona znači više struje sa negativnim nabojem.

Stoga su se raniji računari veličine sobe koristili binarne datoteke da kreiraju svoje sisteme, i iako su koristili stariju, glomazniju opremu, radili su na istim osnovnim principima. Moderni računari koriste ono što se zove tranzistor za izvođenje proračuna sa binarnim kodom.

Evo dijagrama tipičnog tranzistora:

U suštini, omogućava struji da teče od izvora do odvoda ako postoji struja u kapiji. Ovo formira binarni ključ. Proizvođači mogu napraviti ove tranzistore nevjerovatno male - do 5 nanometara, ili veličine dva lanca DNK. Ovako rade moderni procesori, pa čak i oni mogu patiti od problema u razlikovanju stanja uključenog i isključenog (iako je to zbog njihove nerealne molekularne veličine koja je podložna čudnost kvantne mehanike).

Zašto samo binarni sistem

Možda mislite: „Zašto samo 0 i 1? Zašto ne dodati još jedan broj? Iako je to dijelom zbog tradicije stvaranja kompjutera, istovremeno bi dodavanje još jedne cifre značilo potrebu da se razlikuje drugo stanje struje, a ne samo „isključeno“ ili „uključeno“.

Problem je u tome što ako želite da koristite više nivoa napona, potreban vam je način da lako izvršite kalkulacije na njima, a trenutni hardver sposoban za to nije održiv kao zamena za binarne proračune. Na primjer, postoji tzv trostruki kompjuter, razvijena 1950-ih, ali je razvoj tu stao. Ternarna logika efikasniji od binarnog, ali još uvijek ne postoji efikasna zamjena za binarni tranzistor, ili barem ne postoji tranzistor na istoj maloj skali kao binarni.

Razlog zašto ne možemo koristiti ternarnu logiku svodi se na to kako su tranzistori povezani u kompjuteru i kako se koriste za matematičke proračune. Tranzistor prima informacije na dva ulaza, izvodi operaciju i vraća rezultat na jedan izlaz.

Dakle, binarna matematika je lakša za računar nego bilo šta drugo. Binarna logika se lako pretvara u binarne sisteme, pri čemu Tačno i Netačno odgovaraju stanju On i Off.

Binarna tablica istine koja radi na binarnoj logici imat će četiri moguća izlaza za svaku fundamentalnu operaciju. Ali, pošto trostruka kapija koriste tri ulaza, trostruka tabela istinitosti bi imala 9 ili više. Dok binarni sistem ima 16 mogućih operatora (2^2^2), ternarni sistem bi imao 19683 (3^3^3). Skaliranje postaje problem jer iako je trinity efikasniji, on je i eksponencijalno složeniji.

Ko zna? U budućnosti bismo mogli vidjeti ternarne računare kako se binarna logika suočava sa izazovima minijaturizacije. Za sada će svijet nastaviti da radi u binarnom modu.

Ova lekcija će pokriti temu „Informacije o kodiranju. Binarno kodiranje. Jedinice mjerenja informacija." Tokom nje korisnici će moći da steknu razumijevanje o šifriranju informacija, načinu na koji računari percipiraju informacije, mjernim jedinicama i binarnom kodiranju.

Predmet:Informacije oko nas

Lekcija: Kodiranje informacija. Binarno kodiranje. Jedinice informacija

Ova lekcija će pokriti sljedeća pitanja:

1. Kodiranje kao promjena oblika prezentacije informacija.

2. Kako kompjuter prepoznaje informacije?

3. Kako mjeriti informacije?

4. Jedinice mjerenja informacija.

U svijetu kodova

Zašto ljudi kodiraju informacije?

1. Sakrijte ga od drugih (zrcalna kriptografija Leonarda da Vincija, vojna enkripcija).

2. Ukratko zapišite informacije (stenografija, skraćenica, putokazi).

3. Za lakšu obradu i prenos (Morzeov kod, prevod u električne signale - mašinski kodovi).

Kodiranje je predstavljanje informacija pomoću nekog koda.

Kod je sistem simbola za predstavljanje informacija.

Metode kodiranja informacija

1. Grafika (vidi sliku 1) (pomoću crteža i znakova).

Rice. 1. Sistem signalnih zastavica (izvor)

2. Numerički (koristeći brojeve).

Na primjer: 11001111 11100101.

3. Simbolički (koristeći simbole abecede).

Na primjer: NKMBM CHGYOU.

Dekodiranje je akcija vraćanja originalnog oblika prezentacije informacija. Da biste dekodirali, morate znati kod i pravila kodiranja.

Sredstvo kodiranja i dekodiranja je tabela korespondencije koda. Na primjer, korespondencija u različitim brojevnim sistemima je 24 - XXIV, korespondencija abecede sa bilo kojim simbolom (slika 2).


Rice. 2. Primjer šifre (izvor)

Primjeri kodiranja informacija

Primjer kodiranja informacija je Morzeov kod (vidi sliku 3).

Rice. 3. Morzeov kod ()

Morzeov kod koristi samo 2 simbola - tačku i crticu (kratak i dug zvuk).

Drugi primjer kodiranja informacija je abeceda zastavice (vidi sliku 4).

Rice. 4. Abeceda zastave ()

Drugi primjer je abeceda zastava (vidi sliku 5).

Rice. 5. ABC zastava ()

Dobro poznati primjer kodiranja je muzička abeceda (vidi sliku 6).

Rice. 6. Muzička abeceda ()

Razmotrite sljedeći problem:

Koristeći tabelu abecede zastavice (vidi sliku 7), potrebno je riješiti sljedeći problem:

Rice. 7

Stariji suradnik Lom polaže ispit kapetanu Vrungelu. Pomozite mu da pročita sljedeći tekst (vidi sliku 8):

Oko nas uglavnom postoje dva signala, na primjer:

Semafor: crveno - zeleno;

Pitanje: da - ne;

Lampa: uključena - isključena;

Moguće je - nije moguće;

Dobro loše;

Istina je laž;

Naprijed-nazad;

Da ne;

Sve su to signali koji ukazuju na količinu informacija u 1 bitu.

1 bit - to je količina informacija koja nam omogućava da od dvije moguće odaberemo jednu opciju.

Kompjuter je električna mašina koja radi na elektronskim kolima. Da bi računar prepoznao i razumeo ulazne informacije, one moraju biti prevedene na računarski (mašinski) jezik.

Algoritam namijenjen izvođaču mora biti napisan, odnosno kodiran, na jeziku razumljivom kompjuteru.

Ovo su električni signali: struja prolazi ili struja ne prolazi.

Mašinski binarni jezik - niz "0" i "1". Svaki binarni broj može imati vrijednost 0 ili 1.

Svaka cifra mašinskog binarnog koda nosi količinu informacija jednaku 1 bitu.

Zove se binarni broj koji predstavlja najmanju jedinicu informacije b to . Bit može imati vrijednost ili 0 ili 1. Prisustvo magnetskog ili elektronskog signala u kompjuteru znači 1, a odsustvo 0.

Poziva se niz od 8 bita b ait . Računar obrađuje ovaj niz kao poseban znak (broj, slovo).

Pogledajmo primjer. Reč ALICE se sastoji od 5 slova, od kojih je svako u kompjuterskom jeziku predstavljeno jednim bajtom (vidi sliku 10). Stoga se Alisa može mjeriti kao 5 bajtova.

Rice. 10. Binarni kod (izvor)

Osim bitova i bajtova, postoje i druge jedinice informacija.

Bibliografija

1. Bosova L.L. Računarstvo i IKT: Udžbenik za 5. razred. - M.: BINOM. Laboratorij znanja, 2012.

2. Bosova L.L. Računarstvo: Radna sveska za 5. razred. - M.: BINOM. Laboratorija znanja, 2010.

3. Bosova L.L., Bosova A.Yu. Nastava informatike u 5-6 razredima: Metodički priručnik. - M.: BINOM. Laboratorija znanja, 2010.

2. Festival "Otvorena lekcija" ().

Zadaća

1. §1.6, 1.7 (Bosova L.L. Informatika i IKT: Udžbenik za 5. razred).

2. Stranica 28, zadaci 1, 4; str. 30, zadaci 1, 4, 5, 6 (Bosova L.L. Informatika i IKT: Udžbenik za 5. razred).

Značenje pojma "binarni" je da se sastoji od dva dijela ili komponente. Dakle, binarni kodovi su kodovi koji se sastoje od samo dva simbolička stanja, kao što su crno ili bijelo, svijetlo ili tamno, provodnik ili izolator. Binarni kod u digitalnoj tehnologiji je način predstavljanja podataka (brojeva, riječi i drugih) kao kombinacija dva znaka, koji se mogu označiti kao 0 i 1. Znakovi ili jedinice BC nazivaju se bitovi. Jedno od opravdanja za upotrebu BC je jednostavnost i pouzdanost pohranjivanja informacija u bilo kojem mediju u obliku kombinacije samo dva njegova fizička stanja, na primjer, u obliku promjene ili konstantnosti svjetlosnog toka kada čitanje sa diska optičkog koda.
Postoje različite mogućnosti za kodiranje informacija.

Binarni kod

U digitalnoj tehnologiji, metoda predstavljanja podataka (brojeva, riječi i drugih) kao kombinacija dva znaka, koji se mogu označiti kao 0 i 1. Znaci ili jedinice DC-a se nazivaju bitovi.

Jedno od opravdanja za upotrebu DC je jednostavnost i pouzdanost pohranjivanja informacija u bilo kojem mediju u obliku kombinacije samo dva njegova fizička stanja, na primjer, u obliku promjene ili konstantnosti magnetskog toka u datu ćeliju magnetnog medija za snimanje.

Najveći broj koji se može izraziti u binarnom obliku zavisi od broja upotrijebljenih cifara, tj. na broj bitova u kombinaciji koja izražava broj. Na primjer, da biste izrazili numeričke vrijednosti od 0 do 7, dovoljno je imati trocifreni ili 3-bitni kod:

numerička vrijednost binarni kod
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Iz ovoga možemo vidjeti da za broj veći od 7 sa trocifrenim kodom više ne postoje kombinacije kodova 0 i 1.

Prelazeći sa brojeva na fizičke veličine, formulirajmo gornju tvrdnju u opštijem obliku: zavisi najveći broj vrijednosti m bilo koje veličine (temperature, napona, struje itd.), koja se može izraziti u binarnom kodu. o broju bitova n korištenih kao m= 2n. Ako je n=3, kao u razmatranom primjeru, onda dobijamo 8 vrijednosti, uključujući vodeću 0.
Binarni kod je kod u više koraka. To znači da se prilikom prelaska s jedne pozicije (vrijednosti) na drugu, nekoliko bitova može promijeniti istovremeno. Na primjer, broj 3 u binarnom kodu = 011. Broj 4 u binarnom kodu = 100. Shodno tome, kada se krećete od 3 do 4, sva 3 bita istovremeno mijenjaju svoje stanje u suprotno. Čitanje takvog koda sa kodnog diska dovelo bi do činjenice da se, zbog neizbježnih odstupanja (tolerancije) tokom proizvodnje kodnog diska, promjena informacija sa svake od staza posebno nikada neće dogoditi istovremeno. To bi zauzvrat dovelo do činjenice da bi se prilikom prelaska s jednog broja na drugi ukratko davali netačni podaci. Dakle, tokom gore pomenutog prelaska sa broja 3 na broj 4, vrlo je verovatan kratkoročni izlaz broja 7 kada je, na primer, najznačajniji bit tokom tranzicije promenio svoju vrednost nešto ranije od ostalih . Da bi se to izbjeglo, koristi se takozvani kod u jednom koraku, na primjer takozvani Grey Code.

Grey kod

Grey kod je takozvani kod u jednom koraku, tj. Prilikom prelaska s jednog broja na drugi, uvijek se mijenja samo jedan od svih bitova informacija. Greška pri čitanju informacija s diska mehaničkog koda pri prelasku s jednog broja na drugi samo će dovesti do činjenice da će prijelaz iz jednog položaja u drugi biti samo malo pomaknut u vremenu, ali do izdavanja potpuno pogrešne vrijednosti kutnog položaja kada prelazak iz jedne pozicije u drugu je potpuno eliminisan.
Još jedna prednost Grey Code-a je njegova sposobnost preslikavanja informacija. Dakle, invertiranjem najznačajnijeg bita, možete jednostavno promijeniti smjer brojanja i tako uskladiti stvarni (fizički) smjer rotacije ose. Promjena smjera brojanja na ovaj način može se lako promijeniti kontrolom takozvanog „Complement” ulaza. Izlazna vrijednost se stoga može povećavati ili smanjivati ​​za isti fizički smjer rotacije ose.
Pošto su informacije izražene u Grey kodu čisto kodirane po prirodi i ne nose stvarne numeričke informacije, prvo se moraju konvertovati u standardni binarni kod pre dalje obrade. To se radi pomoću konvertora koda (Gray-Binar dekoder), koji se, srećom, lako implementira pomoću sklopa ekskluzivnih ili (XOR) logičkih elemenata, kako u softveru tako i u hardveru.

Odgovarajući decimalni brojevi u rasponu od 0 do 15 do binarnih i Grey kodova

Binarno kodiranje Grey kodiranje
Decimalni kod
Binarna vrijednost Šesnaest značenje Decimalni kod Binarna vrijednost Šesnaest značenje
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

Pretvaranje Grey koda u uobičajeni binarni kod može se obaviti pomoću jednostavnog kola sa inverterima i isključivim ili kapijama kao što je prikazano u nastavku:

Šifra Grey-Višak

Uobičajeni jednostepeni Gray kod je pogodan za rezolucije koje se mogu predstaviti kao broj podignut na stepen 2. U slučajevima kada je potrebno implementirati druge dozvole, srednji dio se izrezuje iz redovnog Grey koda i koristi. Na ovaj način kod ostaje „jednostruki”. Međutim, numerički raspon ne počinje od nule, već se pomiče za određenu vrijednost. Prilikom obrade informacija, polovina razlike između originalne i smanjene rezolucije oduzima se od generiranog signala. Rezolucije kao što je 360? za izražavanje ugla često se implementiraju ovom metodom. Dakle, 9-bitni Grey kod jednak 512 koraka, isečen sa obe strane za 76 koraka, biće jednak 360°.

Dešifriranje binarnog koda koristi se za prevođenje sa strojnog jezika na običan jezik. Online alati rade brzo, iako nije teško to učiniti ručno.

Binarni ili binarni kod se koristi za prijenos informacija u digitalnom obliku. Skup od samo dva znaka, kao što su 1 i 0, omogućava vam da šifrirate bilo koju informaciju, bilo da se radi o tekstu, brojevima ili slici.

Kako šifrirati binarnim kodom

Za ručno prevođenje u binarni kod bilo kojeg karaktera koriste se tabele u kojima je svakom znaku dodijeljen binarni kod u obliku nula i jedinica. Najčešći sistem kodiranja je ASCII, koji koristi 8-bitno kodiranje.

Osnovna tabela sadrži binarne kodove za latinično pismo, brojeve i neke simbole.

U proširenu tabelu dodato je binarno tumačenje ćirilice i dodatnih znakova.

Za konverziju iz binarnog koda u tekst ili brojeve, dovoljno je odabrati potrebne kodove iz tabela. Ali, naravno, ručno obavljanje takvog posla traje dugo. A greške su neizbježne. Računar se mnogo brže nosi s dešifriranjem. A mi ni ne pomišljamo, kucajući tekst na ekranu, da se u tom trenutku tekst prevodi u binarni kod.

Binarna u decimalna konverzija

Da biste ručno pretvorili broj iz binarnog u decimalni, možete koristiti prilično jednostavan algoritam:

  1. Ispod binarnog broja, počevši od krajnje desne cifre, upišite broj 2 u rastućim stepenima.
  2. Pomnožite stepene broja 2 sa odgovarajućom cifrom binarnog broja (1 ili 0).
  3. Zbrojite rezultirajuće vrijednosti.

Evo kako ovaj algoritam izgleda na papiru:

Online usluge za binarno dešifriranje

Ako i dalje trebate vidjeti dešifrirani binarni kod, ili, obrnuto, pretvoriti tekst u binarni oblik, najlakši način je korištenje online usluga dizajniranih za tu svrhu.

Dva prozora, poznata online prijevodima, omogućavaju vam da vidite obje verzije teksta gotovo istovremeno u normalnom i binarnom obliku. A dešifriranje se vrši u oba smjera. Unos teksta se vrši jednostavnim kopiranjem i lijepljenjem.

Kapacitet binarnog koda, Pretvaranje informacija iz kontinuiranog u diskretni oblik, Univerzalnost binarnog kodiranja, Jedinstveni i neuniformisani kodovi, Informatika 7. razred Bosov, Informatika 7. razred

1.5.1. Pretvaranje informacija iz kontinuiranog u diskretni oblik
Da bi riješila svoje probleme, osoba često mora da konvertuje dostupne informacije iz jednog oblika predstavljanja u drugi. Na primjer, kada čitate naglas, informacije se pretvaraju iz diskretnog (tekstualnog) oblika u kontinuirani (zvuk). U toku diktata na času ruskog jezika, naprotiv, informacije se transformišu iz kontinuiranog oblika (glas nastavnika) u diskretni (napomene učenika).
Informacije predstavljene u diskretnom obliku mnogo je lakše prenijeti, pohraniti ili automatski obraditi. Stoga se u računarskoj tehnologiji velika pažnja poklanja metodama za pretvaranje informacija iz kontinuiranog oblika u diskretni.
Diskretizacija informacija je proces pretvaranja informacija iz kontinuiranog oblika reprezentacije u diskretni.
Razmotrite suštinu procesa diskretizacije informacija na primjeru.
Meteorološke stanice imaju samosnimajuće instrumente za kontinuirano snimanje atmosferskog pritiska. Rezultat njihovog rada su barogrami - krive koje pokazuju kako se pritisak mijenjao tokom dužeg vremenskog perioda. Jedna od takvih krivulja koju je instrument nacrtao tokom sedam sati posmatranja prikazana je na Sl. 1.9.

Na osnovu dobijenih informacija, moguće je konstruisati tabelu koja sadrži očitavanja instrumenta na početku merenja i na kraju svakog sata posmatranja (slika 1.10).

Rezultirajuća tabela ne pruža potpunu sliku o tome kako se pritisak mijenjao tokom perioda posmatranja: na primjer, najveća vrijednost tlaka koja se dogodila tokom četvrtog sata posmatranja nije naznačena. Ali ako unesete u tablicu vrijednosti tlaka koje se promatraju svakih pola sata ili 15 minuta, tada će nova tablica dati potpuniju sliku o tome kako se pritisak promijenio.
Dakle, informacije prikazane u kontinualnom obliku (barogram, kriva), uz određeni gubitak tačnosti, konvertujemo u diskretni oblik (tabela).
U budućnosti ćete se upoznati sa metodama diskretne prezentacije zvučnih i grafičkih informacija.

Lanci od tri binarna znaka dobijaju se nadopunjavanjem dvocifrenih binarnih kodova na desnoj strani znakom 0 ili 1. Kao rezultat, kombinacije kodova od tri binarna znaka su 8 - duplo više nego od dva binarna znaka:
U skladu s tim, četverobitni binarni sistem vam omogućava da dobijete 16 kombinacija koda, pet-bitni - 32, šest-bitni - 64, itd. Dužina binarnog lanca - broj znakova u binarnom kodu - je naziva se dubina bita binarnog koda.
Zapiši to:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 itd.
Ovdje je broj kombinacija koda proizvod određenog broja identičnih faktora koji je jednak dubini bita binarnog koda.
Ako je broj kombinacija koda označen slovom N, a dubina bita binarnog koda označena slovom i, tada će otkriveni obrazac u općem obliku biti napisan na sljedeći način:
N = 2 * 2 * ... * 2.
i faktori
U matematici se takvi proizvodi pišu kao:
N = 2i.
Zapis 2 čitam ovako: "2 na i-tu potenciju."

Zadatak. Vođa plemena Multi naložio je svom ministru da razvije binarni program i u njega prevede sve važne informacije. Koja bi dubina bitova bila potrebna ako abeceda koju koristi Multi pleme ima 16 znakova? Zapišite sve kombinacije kodova.
Rješenje. Kako se abeceda Multi plemena sastoji od 16 znakova, potrebno im je i 16 kodnih kombinacija.U ovom slučaju, dužina (kapacitet cifara) binarnog koda se određuje iz omjera: 16 = 2 i . Stoga je i = 4.
Da bismo ispisali sve kombinacije kodova od četiri 0 i 1, koristimo dijagram na Sl. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. Svestranost binarnog kodiranja
Na početku ovog odjeljka naučili ste da se, kada se predstavlja u kontinuiranom obliku, može izraziti pomoću simbola nekog prirodnog ili formalnog jezika. Zauzvrat, proizvoljni znakovi abecede mogu se pretvoriti u binarne. Dakle, uz pomoć binarnog koda, bilo koji se može predstaviti prirodnim i formalnim jezicima, kao i slikama i zvucima (slika 1.14). To znači univerzalnost binarnog kodiranja.
Binarni kodovi se široko koriste u kompjuterskoj tehnologiji i zahtijevaju samo dva stanja elektronskog kola - "uključeno" (odgovara cifri 1) i "isključeno" (odgovara cifri 0).
Jednostavnost tehničke implementacije je glavna prednost binarnog kodiranja. Nedostatak binarnog kodiranja je velika dužina rezultujućeg koda.

1.5.4. Jednoobrazni i neuniformisani kodovi
Razlikovati uniformne i neujednačene kodove. Uniformni kodovi u kodnim kombinacijama sadrže isti broj znakova, neparni - različiti.
Gore smo razmotrili uniformne binarne kodove.
Primjer neuniformnog koda je Morzeov kod, u kojem je niz kratkih i dugih signala definiran za svako slovo i broj. Dakle, slovo E odgovara kratkom signalu („tačka”), a slovo Š odgovara četiri duga signala (četiri „crtice”). Neravnomjerno vam omogućava da povećate brzinu prijenosa poruke zbog činjenice da simboli koji se najčešće pojavljuju u prenesenim informacijama imaju najkraće kombinacije kodova.

Informacija koju daje ovaj simbol jednaka je entropiji sistema i maksimalna je u slučaju kada su oba stanja jednako vjerovatna; u ovom slučaju, elementarni simbol prenosi informaciju 1 (dvostruke jedinice). Stoga će osnova optimalnog kodiranja biti zahtjev da se elementarni znakovi u kodiranom tekstu pojavljuju u prosjeku podjednako često.

Hajde da opišemo ovde metodu za konstruisanje koda koji zadovoljava navedeni uslov; ova metoda je poznata kao Shannon-Fano kod. Njegova ideja je da se kodirani znakovi (slova ili kombinacije slova) dijele u dvije približno jednako vjerojatne grupe: za prvu grupu znakova, 0 se stavlja na prvo mjesto kombinacije (prvi znak binarnog broja koji predstavlja karakter); za drugu grupu - 1. Dalje, svaka grupa se ponovo deli na dve približno jednako verovatne podgrupe; za simbole prve podgrupe, nula se stavlja na drugo mesto; za drugu podgrupu - jedan itd.

Hajde da demonstriramo princip konstruisanja Shannon - Fano koda na materijalu ruskog alfabeta (tabela 18.8.1). Izbrojimo prvih šest slova (od "-" do "t"); zbrajajući njihove vjerovatnoće (frekvencije), dobijamo 0,498; sva ostala slova (od "n" do "sf") će imati približno istu vjerovatnoću od 0,502. Prvih šest slova (od "-" do "t") imaće na prvom mestu binarni predznak 0. Preostala slova (od "n" do "f") će imati jedinicu na prvom mestu. Zatim, ponovo dijelimo prvu grupu na dvije približno jednako vjerovatne podgrupe: od "-" do "o" i od "e" do "t"; za sva slova prve podgrupe stavljamo nulu na drugo mjesto, a jedno za drugu podgrupu.Nastavit ćemo proces sve dok u svakoj podgrupi ne ostane tačno jedno slovo koje će biti kodirano određenim binarnim brojem.Konstrukcija koda mehanizam je prikazan u tabeli 18.8.2, a sam kod je dat u tabeli 18.8.3.

Tabela 18.8.2.

Binarni znakovi

Tabela 18.8.3

Tabela 18.8.3 može kodirati i dekodirati bilo koju poruku.

Kao primjer, napišimo frazu u binarnom kodu: "teorija informacija"

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

Imajte na umu da ovdje nema potrebe odvajati slova jedno od drugog posebnim znakom, jer se i bez ovog dekodiranja izvodi nedvosmisleno. Ovo se može potvrditi dekodiranjem sljedeće fraze pomoću Tabele 18.8.2:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

(„metoda kodiranja“).

Međutim, treba napomenuti da je svaka greška kodiranja (slučajna zamjena znakova 0 i 1) s takvim kodom fatalna, jer dekodiranje cijelog teksta nakon greške postaje nemoguće. Stoga se ovaj princip kodiranja može preporučiti samo u slučaju kada su greške u kodiranju i prijenosu poruke praktično isključene.

Postavlja se prirodno pitanje: da li je kod koji smo sastavili u nedostatku grešaka zaista optimalan? Da bismo odgovorili na ovo pitanje, hajde da pronađemo prosečnu informaciju po elementarnom simbolu (0 ili 1) i uporedimo je sa maksimalnom mogućom informacijom, koja je jednaka jednoj binarnoj jedinici. Da bismo to učinili, prvo pronađemo prosječnu informaciju sadržanu u jednom slovu poslanog teksta, tj. entropiju po slovu:

,

gdje je vjerovatnoća da će slovo zauzeti određeno stanje (“-”, o, e, a, ..., f).

Iz tabele. 18.8.1 imamo

(dvije jedinice po slovu teksta).

Prema tabeli 18.8.2 određujemo prosječan broj elementarnih znakova po slovu

Podijeleći entropiju sa, dobijamo informaciju po elementarnom simbolu

(dvije jedinice).

Dakle, informacija po simbolu je vrlo blizu svoje gornje granice od 1, a kod koji smo odabrali je vrlo blizu optimalnom. Ostajući u granicama zadatka kodiranja pismom, ne možemo dobiti ništa bolje.

Imajte na umu da u slučaju kodiranja samo binarnih brojeva slova, imali bismo sliku svakog slova sa pet binarnih znakova i informacije po znaku bi bile

(dvije jedinice),

tj. primjetno manje nego kod optimalnog kodiranja slova.

Međutim, treba napomenuti da pravopisno kodiranje nije nimalo ekonomično. Činjenica je da uvijek postoji zavisnost između susjednih slova bilo kojeg smislenog teksta. Na primjer, samoglasnik u ruskom ne može biti praćen "ʺ" ili "ʹ"; nakon siktanja, "ja" ili "yu" ne mogu stajati; nakon nekoliko suglasnika u nizu povećava se vjerovatnoća samoglasnika itd.

Znamo da kada se kombinuju zavisni sistemi, ukupna entropija je manja od zbira entropija pojedinačnih sistema; stoga je informacija koju prenosi dio povezanog teksta uvijek manja od informacije po znaku pomnožene brojem znakova. S obzirom na ovu okolnost, ekonomičniji kod se može konstruirati ako se ne kodira svako slovo posebno, već cijeli „blokovi“ slova. Na primjer, u ruskom tekstu ima smisla kodirati u cijelosti neke kombinacije slova koje se često pojavljuju, kao što su "ts", "et", "nie", itd. slova u tabeli. 18.8.1, a binarno kodiranje se vrši po istom principu.

U nekim slučajevima, pokazalo se da je razumno kodirati čak ni blokove slova, već čitave smislene dijelove teksta. Na primjer, da biste rasterećeni telegrafski ured na praznicima, preporučljivo je kodirati cijele standardne tekstove s uslovnim brojevima, kao što su:

"Srećna Nova godina, želim vam dobro zdravlje i uspeh u radu."

Ne zadržavajući se posebno na metodama blokovnog kodiranja, ograničavamo se na formulisanje povezane Šenonove teoreme.

Neka postoji izvor informacija i prijemnik povezani komunikacijskim kanalom (slika 18.8.1).

Učinak izvora informacija je poznat, odnosno prosječan broj binarnih jedinica informacija koje dolaze iz izvora u jedinici vremena (numerički je jednak prosječnoj entropiji poruke koju izvori proizvode po jedinici vremena). Neka je, osim toga, poznat i kapacitet kanala, odnosno maksimalna količina informacija (na primjer, binarni znakovi 0 ili 1) koje je kanal u stanju prenijeti u istoj jedinici vremena. Postavlja se pitanje: koliki bi trebao biti propusni opseg kanala da bi se "snašao" sa svojim zadatkom, odnosno da informacije od izvora do prijemnika stižu bez odlaganja?

Odgovor na ovo pitanje daje Šenonova prva teorema. Ovdje to formuliramo bez dokaza.

1. Šenonova teorema

Ako je propusni opseg komunikacijskog kanala veći od entropije izvora informacija po jedinici vremena

tada je uvijek moguće kodirati dovoljno dugu poruku tako da je bez odlaganja prenese komunikacijski kanal. Ako, naprotiv,

tada je prijenos informacija bez odlaganja nemoguć.