Ahoj binárně. Binární kód

Počítače nerozumí slovům a číslům jako lidé. Moderní software umožňuje koncovému uživateli toto ignorovat, ale na nejnižších úrovních váš počítač pracuje na binárním elektrickém signálu, který má pouze dva státy: zda je aktuální nebo ne. Abyste „pochopili“ složitá data, váš počítač je musí zakódovat v binárním formátu.

Binární systém je založen na dvou číslicích, 1 a 0, které odpovídají zapnutým a vypnutým stavům, kterým váš počítač rozumí. Pravděpodobně znáte desítkovou soustavu. Používá deset číslic, od 0 do 9, a poté přejde k dalšímu pořadí a vytvoří dvouciferná čísla, přičemž každé číslo je desetkrát větší než předchozí. Binární systém je podobný, přičemž každá číslice je dvakrát větší než ta předchozí.

Počítání v binárním formátu

V binárním vyjádření je první číslice ekvivalentní 1 v desítkové soustavě. Druhá číslice je 2, třetí je 4, čtvrtá je 8 a tak dále – pokaždé se zdvojnásobí. Přidáním všech těchto hodnot získáte číslo v desítkovém formátu.

1111 (binární) = 8 + 4 + 2 + 1 = 15 (v desítkové soustavě)

Účtování pro 0 nám dává 16 možných hodnot pro čtyři binární bity. Posuňte 8 bitů a získáte 256 možných hodnot. To zabere mnohem více místa, protože čtyři desetinná místa nám dávají 10 000 možných hodnot. Binární kód samozřejmě zabírá více místa, ale počítače rozumí binárním souborům mnohem lépe než desítková soustava. A pro některé věci, jako je logické zpracování, je binární kód lepší než desítkový.

Je třeba říci, že existuje další základní systém, který se používá při programování: hexadecimální. Přestože počítače nepracují v hexadecimálním formátu, programátoři jej používají k reprezentaci binárních adres ve formátu čitelném pro člověka při psaní kódu. Je to proto, že dvě číslice hexadecimálního čísla mohou představovat celý bajt, což znamená, že nahrazují osm číslic v dvojkové soustavě. Hexadecimální systém používá čísla 0-9, stejně jako písmena A až F, k vytvoření dalších šesti číslic.

Proč počítače používají binární soubory?

Krátká odpověď: hardware a fyzikální zákony. Každý znak ve vašem počítači je elektrický signál a v počátcích počítačů bylo měření elektrických signálů mnohem obtížnější. Dávalo větší smysl rozlišovat pouze stav „zapnuto“, reprezentovaný záporným nábojem, a stav „vypnuto“, reprezentovaný kladným nábojem.

Pro ty, kteří nevědí, proč je „vypnuto“ představováno kladným nábojem, je to proto, že elektrony mají záporný náboj a více elektronů znamená více proudu se záporným nábojem.

Používaly se tedy dřívější počítače velikosti místnosti binární soubory k vytvoření svých systémů, a přestože používali starší, objemnější zařízení, pracovali na stejných základních principech. Moderní počítače používají tzv tranzistor provádět výpočty s binárním kódem.

Zde je schéma typického tranzistoru:

V podstatě umožňuje proudění proudu ze zdroje do odpadu, pokud je v bráně proud. To tvoří binární klíč. Výrobci dokážou vyrobit tyto tranzistory neuvěřitelně malé – až 5 nanometrů nebo velikosti dvou řetězců DNA. Takto fungují moderní procesory a i ty mohou trpět problémy s rozlišením mezi zapnutým a vypnutým stavem (i když je to způsobeno jejich nereálnou molekulární velikostí, která je ovlivněna podivnosti kvantové mechaniky).

Proč jen binární systém

Možná si říkáte: „Proč jen 0 a 1? Proč nepřidat další číslo? Je to sice částečně dáno tradicí vytváření počítačů, zároveň by ale přidání další číslice znamenalo nutnost odlišit jiný stav proudu, nejen „vypnuto“ nebo „zapnuto“.

Problém je v tom, že pokud chcete používat více napěťových úrovní, potřebujete způsob, jak na nich snadno provádět výpočty, a současný hardware toho schopný není jako náhrada binárních výpočtů životaschopný. Existuje například tzv trojitý počítač, vyvinuté v 50. letech 20. století, ale tam se vývoj zastavil. Ternární logika účinnější než binární, ale zatím neexistuje účinná náhrada za binární tranzistor, nebo alespoň žádný tranzistor ve stejném malém měřítku jako binární.

Důvod, proč nemůžeme použít ternární logiku, spočívá v tom, jak jsou tranzistory zapojeny v počítači a jak se používají pro matematické výpočty. Tranzistor přijme informaci na dvou vstupech, provede operaci a vrátí výsledek na jeden výstup.

Binární matematika je tedy pro počítač jednodušší než cokoli jiného. Binární logika se snadno převede na binární systémy, přičemž True a False odpovídají stavům On a Off.

Binární pravdivostní tabulka běžící na binární logice bude mít čtyři možné výstupy pro každou základní operaci. Ale protože trojitá hradla používají tři vstupy, trojitá pravdivostní tabulka by měla 9 nebo více. Zatímco binární systém má 16 možných operátorů (2^2^2), ternární systém by měl 19683 (3^3^3). Škálování se stává problémem, protože i když je trinity efektivnější, je také exponenciálně složitější.

Kdo ví? V budoucnu můžeme dobře vidět ternární počítače, protože binární logika čelí problémům s miniaturizací. Prozatím bude svět nadále fungovat v binárním režimu.

Tato lekce se bude týkat tématu „Kódování informací. Binární kódování. Jednotky měření informací." Během ní budou uživatelé moci porozumět kódování informací, tomu, jak počítače vnímají informace, měrným jednotkám a binárnímu kódování.

Předmět:Informace kolem nás

Lekce: Informační kódování. Binární kódování. Jednotky informací

Tato lekce se bude týkat následujících otázek:

1. Kódování jako změna formy prezentace informace.

2. Jak počítač rozpoznává informace?

3. Jak měřit informace?

4. Jednotky měření informace.

Ve světě kódů

Proč lidé kódují informace?

1. Skryjte to před ostatními (zrcadlové tajné písmo Leonarda da Vinciho, vojenské šifrování).

2. Zapište si informace stručně (zkratka, zkratka, dopravní značky).

3. Pro snadnější zpracování a přenos (Morseova abeceda, překlad do elektrických signálů - strojové kódy).

Kódování je reprezentace informace pomocí nějakého kódu.

Kód je systém symbolů pro prezentaci informací.

Metody kódování informací

1. Grafika (viz obr. 1) (pomocí nákresů a znaků).

Rýže. 1. Systém signálních příznaků (zdroj)

2. Numerické (pomocí čísel).

Například: 11001111 11100101.

3. Symbolické (pomocí abecedních symbolů).

Například: NKMBM CHGYOU.

Dekódování je akce k obnovení původní formy prezentace informací. K dekódování potřebujete znát kód a pravidla kódování.

Prostředkem kódování a dekódování je kódová korespondenční tabulka. Například shoda v různých číselných soustavách je 24 - XXIV, shoda abecedy s libovolnými symboly (obr. 2).


Rýže. 2. Příklad šifry (zdroj)

Příklady kódování informací

Příkladem kódování informací je Morseova abeceda (viz obrázek 3).

Rýže. 3. Morseova abeceda ()

Morseova abeceda používá pouze 2 symboly – tečku a pomlčku (krátký a dlouhý zvuk).

Dalším příkladem kódování informací je příznaková abeceda (viz obr. 4).

Rýže. 4. Vlajková abeceda ()

Dalším příkladem je abeceda vlajek (viz obr. 5).

Rýže. 5. ABC vlajek ()

Známým příkladem kódování je hudební abeceda (viz obr. 6).

Rýže. 6. Hudební abeceda ()

Zvažte následující problém:

Pomocí tabulky příznakové abecedy (viz obr. 7) je nutné vyřešit následující problém:

Rýže. 7

Starší důstojník Lom složí zkoušku kapitánu Vrungelovi. Pomozte mu přečíst následující text (viz obrázek 8):

Kolem nás jsou hlavně dva signály, například:

Semafor: červená - zelená;

Otázka: ano - ne;

Lampa: zapnuto - vypnuto;

Je to možné - není to možné;

Dobrý špatný;

Pravda je lež;

Sem a tam;

Ano ne;

To vše jsou signály udávající množství informace v 1 bitu.

1 bit - to je množství informací, které nám umožňuje vybrat jednu možnost ze dvou možných.

Počítač je elektrický stroj, který pracuje na elektronických obvodech. Aby počítač vstupní informaci rozpoznal a pochopil, musí být přeložena do počítačového (strojového) jazyka.

Algoritmus určený pro interpreta musí být napsán, tedy zakódován, v jazyce srozumitelném pro počítač.

Jedná se o elektrické signály: proud prochází nebo proud neprochází.

Strojový binární jazyk - sekvence "0" a "1". Každé binární číslo může mít hodnotu 0 nebo 1.

Každá číslice strojového binárního kódu nese množství informace rovnající se 1 bitu.

Binární číslo, které představuje nejmenší jednotku informace, se nazývá b to . Bit může mít hodnotu 0 nebo 1. Přítomnost magnetického nebo elektronického signálu v počítači znamená 1, nepřítomnost 0.

Je volán řetězec 8 bitů b TO . Počítač zpracuje tento řetězec jako samostatný znak (číslo, písmeno).

Podívejme se na příklad. Slovo ALICE se skládá z 5 písmen, z nichž každé je v počítačovém jazyce reprezentováno jedním bajtem (viz obr. 10). Alici lze tedy měřit jako 5 bajtů.

Rýže. 10. Binární kód (zdroj)

Kromě bitů a bajtů existují další jednotky informací.

Bibliografie

1. Bosová L.L. Informatika a ICT: Učebnice pro 5. ročník. - M.: BINOM. Vědomostní laboratoř, 2012.

2. Bosová L.L. Informatika: Pracovní sešit pro 5. ročník. - M.: BINOM. Vědomostní laboratoř, 2010.

3. Bosová L.L., Bosová A.Yu. Hodiny informatiky v 5.-6. ročníku: Metodická příručka. - M.: BINOM. Vědomostní laboratoř, 2010.

2. Festival "Otevřená lekce" ().

Domácí práce

1. §1.6, 1.7 (Bosova L.L. Informatika a ICT: Učebnice pro ročník 5).

2. Stránka 28, úkoly 1, 4; str. 30, úkoly 1, 4, 5, 6 (Bosova L.L. Informatika a ICT: Učebnice pro 5. ročník).

Význam termínu „binární“ je, že se skládá ze dvou částí nebo složek. Binární kódy jsou tedy kódy, které se skládají pouze ze dvou symbolických stavů, jako je černá nebo bílá, světlá nebo tma, vodič nebo izolant. Binární kód v digitální technologii je způsob reprezentace dat (čísla, slova a další) jako kombinace dvou znaků, které lze označit jako 0 a 1. Znaky nebo jednotky BC se nazývají bity. Jedním z odůvodnění použití BC je jednoduchost a spolehlivost ukládání informace na libovolné médium ve formě kombinace pouhých dvou jeho fyzikálních stavů, například ve formě změny nebo stálosti světelného toku při čtení z disku s optickým kódem.
Existují různé možnosti kódování informací.

Binární kód

V digitální technologii je to metoda reprezentace dat (čísla, slova a další) jako kombinace dvou znaků, které lze označit jako 0 a 1. Značky nebo jednotky DC se nazývají bity.

Jedním z odůvodnění použití DC je jednoduchost a spolehlivost uložení informace na libovolném médiu ve formě kombinace pouhých dvou jeho fyzikálních stavů, například ve formě změny nebo stálosti magnetického toku v danou buňku magnetického záznamového média.

Největší číslo, které lze binárně vyjádřit, závisí na počtu použitých číslic, tzn. na počtu bitů v kombinaci vyjadřující číslo. Například pro vyjádření číselných hodnot od 0 do 7 stačí mít 3místný nebo 3bitový kód:

číselná hodnota binární kód
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Z toho vidíme, že pro číslo větší než 7 s 3místným kódem již neexistují kombinace kódů 0 a 1.

Přejdeme-li od čísel k fyzikálním veličinám, zformulujme výše uvedené tvrzení v obecnější podobě: největší počet hodnot m jakékoli veličiny (teplota, napětí, proud atd.), který lze vyjádřit v binárním kódu, závisí na na počtu použitých bitů n jako m= 2n. Pokud n=3, jako v uvažovaném příkladu, pak dostaneme 8 hodnot, včetně úvodní 0.
Binární kód je vícekrokový kód. To znamená, že při pohybu z jedné pozice (hodnoty) do druhé se může změnit několik bitů současně. Například číslo 3 v binárním kódu = 011. Číslo 4 v binárním kódu = 100. Podle toho při přechodu ze 3 na 4 všechny 3 bity změní svůj stav na opačný současně. Čtení takového kódu z kódového disku by vedlo k tomu, že v důsledku nevyhnutelných odchylek (tolerance) při výrobě kódového disku nikdy nenastane současně změna informace z každé ze stop samostatně. To by zase vedlo k tomu, že při přechodu z jednoho čísla na druhé by byly stručně uvedeny nesprávné informace. Při výše zmíněném přechodu z čísla 3 na číslo 4 je tedy velmi pravděpodobný krátkodobý výstup čísla 7, kdy například nejvýznamnější bit při přechodu změnil svou hodnotu o něco dříve než zbytek . Aby se tomu zabránilo, používá se tzv. jednokrokový kód, například tzv. Grey Code.

Šedý kód

Šedý kód je tzv. jednokrokový kód, tzn. Při přechodu z jednoho čísla na druhé se vždy změní pouze jeden ze všech bitů informace. Chyba při čtení informace z disku mechanického kódu při přechodu z jednoho čísla na druhé povede pouze k tomu, že přechod z jedné polohy do druhé bude v čase jen nepatrně posunut, ale vydání zcela nesprávné hodnoty úhlové polohy při přesun z jedné polohy do druhé je zcela vyloučen.
Další výhodou Grayova kódu je jeho schopnost zrcadlit informace. Takže invertováním nejvýznamnějšího bitu můžete jednoduše změnit směr počítání a přizpůsobit tak skutečný (fyzický) směr otáčení osy. Změnu směru počítání tímto způsobem lze snadno změnit ovládáním takzvaného vstupu „Complement“. Výstupní hodnota tak může být rostoucí nebo klesající pro stejný fyzický směr otáčení osy.
Protože informace vyjádřené v Grayově kódu jsou čistě zakódované a nenesou skutečné číselné informace, musí být před dalším zpracováním převedeny na standardní binární kód. To se provádí pomocí převodníku kódu (dekodér Gray-Binar), který je naštěstí snadno implementován pomocí obvodu exkluzivních nebo (XOR) logických prvků, a to jak v softwaru, tak v hardwaru.

Odpovídající desetinná čísla v rozsahu od 0 do 15 až po binární a Gray kódy

Binární kódování Šedé kódování
Desetinný kód
Binární hodnota Šestnáct význam Desetinný kód Binární hodnota Šestnáct význam
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

Převod Grayova kódu na obvyklý binární kód lze provést pomocí jednoduchého obvodu s invertory a exkluzivními nebo hradly, jak je znázorněno níže:

Kód Gray-Excess

Obvyklý jednokrokový Gray kód je vhodný pro rozlišení, která mohou být reprezentována jako číslo umocněné na 2. V případech, kdy je nutné implementovat jiná oprávnění, je prostřední část vyříznuta z běžného Grayova kódu a použita. Tímto způsobem zůstává kód „jednokrokový“. Číselný rozsah však nezačíná nulou, ale je posunut o určitou hodnotu. Při zpracování informací se od generovaného signálu odečte polovina rozdílu mezi původním a sníženým rozlišením. Rozlišení jako 360? k vyjádření úhlu jsou často implementovány touto metodou. Takže 9bitový Gray kód rovný 512 krokům, oříznutý na obou stranách o 76 kroků, bude roven 360°.

K překladu ze strojového jazyka do běžného jazyka se používá dekódování binárního kódu. Online nástroje fungují rychle, i když to není těžké udělat ručně.

K digitálnímu přenosu informací se používá binární nebo binární kód. Sada pouhých dvou znaků, jako je 1 a 0, umožňuje zašifrovat jakékoli informace, ať už jde o text, čísla nebo obrázek.

Jak šifrovat pomocí binárního kódu

Pro ruční převod libovolných symbolů na binární kód se používají tabulky, ve kterých je každému symbolu přiřazen binární kód ve formě nul a jedniček. Nejběžnějším kódovacím systémem je ASCII, který používá 8bitovou notaci kódu.

Základní tabulka ukazuje binární kódy latinské abecedy, čísla a některé symboly.

Do rozšířené tabulky byla přidána binární interpretace azbuky a dalších znaků.

Chcete-li převést z binárního kódu na text nebo čísla, jednoduše vyberte požadované kódy z tabulek. Dělat tento druh práce ručně ale samozřejmě trvá dlouho. A chyby jsou navíc nevyhnutelné. Počítač se s dešifrováním vyrovná mnohem rychleji. A ani nás nenapadne, když píšeme text na obrazovce, že se v tu chvíli text převádí na binární kód.

Převod binárního čísla na desítkové

Chcete-li ručně převést číslo z binární číselné soustavy na desítkovou číselnou soustavu, můžete použít poměrně jednoduchý algoritmus:

  1. Pod binární číslo, počínaje číslicí zcela vpravo, napište číslo 2 s rostoucí mocninou.
  2. Mocniny 2 se násobí odpovídající číslicí binárního čísla (1 nebo 0).
  3. Přidejte výsledné hodnoty.

Takto vypadá tento algoritmus na papíře:

Online služby pro binární dešifrování

Pokud přesto potřebujete vidět dešifrovaný binární kód, nebo naopak text převést do binární podoby, nejjednodušší je využít online služeb určených pro tyto účely.

Dvě okna, známá z online překladů, umožňují téměř současně vidět obě verze textu v běžné i binární podobě. A dešifrování se provádí v obou směrech. Zadávání textu je jednoduché kopírováním a vkládáním.

Bitová kapacita binárního kódu, Převod informace ze spojité do diskrétní formy, Univerzálnost binárního kódování, Uniformní a neuniformní kódy, Informatika 7. ročník Bosova, Informatika 7. ročník

1.5.1. Převod informací ze spojité do diskrétní formy
Aby člověk vyřešil své problémy, musí často transformovat existující informace z jedné formy reprezentace do druhé. Například při hlasitém čtení se informace převádějí z diskrétní (textové) formy do spojité (zvukové). Při diktátu v hodině ruského jazyka se naopak informace transformují ze spojité formy (hlas učitele) do diskrétní (poznámky studentů).
Informace prezentované v diskrétní formě se mnohem snadněji přenášejí, ukládají nebo automaticky zpracovávají. Proto je ve výpočetní technice věnována velká pozornost metodám převodu informace ze spojité do diskrétní formy.
Diskretizace informací je proces přeměny informace ze spojité formy reprezentace na diskrétní.
Podívejme se na podstatu procesu vzorkování informací na příkladu.
Meteorologické stanice mají záznamníky pro nepřetržitý záznam atmosférického tlaku. Výsledkem jejich práce jsou barogramy – křivky ukazující, jak se tlak měnil v průběhu dlouhých časových úseků. Jedna z těchto křivek, nakreslená zařízením během sedmi hodin pozorování, je znázorněna na Obr. 1.9.

Na základě obdržených informací můžete sestavit tabulku obsahující odečty přístroje na začátku měření a na konci každé hodiny pozorování (obr. 1.10).

Výsledná tabulka nepodává zcela úplný obrázek o tom, jak se tlak během sledovaného období měnil: například není uvedena nejvyšší hodnota tlaku, která se vyskytla během čtvrté hodiny pozorování. Pokud však provedete tabulku hodnot tlaku pozorovaných každou půlhodinu nebo 15 minut, nová tabulka poskytne úplnější obrázek o tom, jak se tlak změnil.
Převedli jsme tedy informace prezentované ve spojité formě (barogram, křivka) do diskrétní formy (tabulky) s určitou ztrátou přesnosti.
V budoucnu se seznámíte se způsoby, jak diskrétně znázornit zvukové a grafické informace.

Řetězce tří binárních symbolů se získávají doplněním dvoumístných binárních kódů vpravo symbolem 0 nebo 1. Výsledkem je, že kombinace kódů tří binárních symbolů je 8 – tedy dvakrát více než u dvou binárních symbolů:
V souladu s tím vám čtyřbitový binární kód umožňuje získat 16 kombinací kódů, pětibitový - 32, šestibitový - 64 atd. Délka binárního řetězce - počet znaků v binárním kódu - je nazývá se bitová hloubka binárního kódu.
Všimněte si, že:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 atd.
Zde je počet kombinací kódů součinem určitého počtu identických faktorů rovných bitové hloubce binárního kódu.
Pokud je počet kombinací kódů označen písmenem N a bitová hloubka binárního kódu písmenem i, pak bude identifikovaný vzor v obecné podobě zapsán následovně:
N = 2 * 2 * ... * 2.
i faktory
V matematice se takové produkty píší jako:
N = 2 i.
Záznam 2 i se čte takto: „2 na i-tou mocninu“.

Úkol. Vůdce kmene Multi pověřil svého ministra, aby vytvořil binární soubor a přeložil do něj všechny důležité informace. Jaká velikost binárního čísla bude vyžadována, pokud abeceda používaná kmenem Multi obsahuje 16 znaků? Zapište si všechny kombinace kódů.
Řešení. Vzhledem k tomu, že abeceda kmene Multi se skládá ze 16 znaků, potřebují 16 kombinací kódů. V tomto případě je délka (bitová hloubka) binárního kódu určena z poměru: 16 = 2 i. Proto i = 4.
Pro zapsání všech kombinací kódů čtyř 0 a 1 použijeme diagram na Obr. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. Všestrannost binárního kódování
Na začátku této části jste se dozvěděli, že reprezentovaná v spojité formě může být vyjádřena pomocí symbolů v nějakém přirozeném nebo formálním jazyce. Na druhé straně lze znaky libovolné abecedy převést na binární. Pomocí binárního kódu lze tedy reprezentovat libovolné přirozené a formální jazyky, stejně jako obrazy a zvuky (obr. 1.14). To znamená univerzálnost binárního kódování.
Binární kódy jsou široce používány ve výpočetní technice, vyžadují pouze dva stavy elektronického obvodu - „zapnuto“ (to odpovídá číslu 1) a „vypnuto“ (to odpovídá číslu 0).
Jednoduchost technické implementace je hlavní výhodou binárního kódování. Nevýhodou binárního kódování je velká délka výsledného kódu.

1.5.4. Jednotné a nejednotné kódy
Existují jednotné a nejednotné kódy. Jednotné kódy v kombinacích kódů obsahují stejný počet symbolů, liché obsahují jiný počet.
Výše jsme se podívali na jednotné binární kódy.
Příkladem nejednotného kódu je Morseova abeceda, ve které je pro každé písmeno a číslo definována posloupnost krátkých a dlouhých signálů. Písmeno E tedy odpovídá krátkému signálu („tečka“) a písmeno Ш odpovídá čtyřem dlouhým signálům (čtyřem „pomlčkám“). Nerovnoměrný umožňuje zvýšit rychlost přenosu zpráv díky tomu, že nejčastěji se vyskytující symboly v přenášených informacích mají nejkratší kódové kombinace.

Informace, kterou tento symbol dává, je rovna entropii systému a je maximální v případě, kdy jsou oba stavy stejně pravděpodobné; v tomto případě elementární symbol přenáší informaci 1 (dvě jednotky). Základem optimálního kódování proto bude požadavek, aby se elementární znaky v zakódovaném textu vyskytovaly v průměru stejně často.

Uveďme zde metodu pro konstrukci kódu, který splňuje uvedenou podmínku; Tato metoda je známá jako Shannon-Fano kód. Její myšlenkou je, že kódované symboly (písmena nebo kombinace písmen) jsou rozděleny do dvou přibližně stejně pravděpodobných skupin: pro první skupinu symbolů je na prvním místě kombinace umístěna 0 (první znak binárního čísla představující symbol); pro druhou skupinu - 1. Dále se každá skupina opět rozdělí na dvě přibližně stejně pravděpodobné podskupiny; pro symboly první podskupiny je na druhém místě umístěna nula; pro druhou podskupinu - jeden atd.

Ukažme si princip konstrukce Shannon-Fano kódu pomocí materiálu ruské abecedy (tab. 18.8.1). Spočítejme prvních šest písmen (od „-“ do „t“); sečtením jejich pravděpodobností (četností) dostaneme 0,498; všechna ostatní písmena (od „n“ do „sf“) budou mít přibližně stejnou pravděpodobnost 0,502. Prvních šest písmen (od „-“ do „t“) bude mít na prvním místě binární 0. Zbývající písmena (od „n“ do „f“) budou mít na prvním místě jedničku. Dále opět rozdělíme první skupinu na dvě přibližně stejně pravděpodobné podskupiny: od „-“ po „o“ a od „e“ po „t“; pro všechna písmena první podskupiny na druhé místo dáme nulu a z druhé podskupiny budeme pokračovat v procesu, dokud v každém dělení nezůstane právě jedno písmeno, které bude zakódováno určitým binárním číslem pro konstrukci kódu je uveden v tabulce 18.8 .2 a samotný kód je uveden v tabulce 18.8.3.

Tabulka 18.8.2.

Binární znaky

Tabulka 18.8.3

Pomocí tabulky 18.8.3 můžete zakódovat a dekódovat jakoukoli zprávu.

Jako příklad si napišme frázi „teorie informací“ v binárním kódu.

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

Všimněte si, že není třeba oddělovat písmena od sebe zvláštním znakem, protože dekódování se provádí jednoznačně i bez něj. To lze ověřit dekódováním následující fráze pomocí tabulky 18.8.2:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

(„metoda kódování“).

Je však třeba poznamenat, že jakákoli chyba kódování (náhodná záměna 0 a 1 znaků) s takovým kódem je katastrofální, protože dekódování veškerého textu následujícího po chybě je nemožné. Tento princip kódování lze tedy doporučit pouze v případech, kdy jsou prakticky vyloučeny chyby při kódování a přenosu zprávy.

Nabízí se přirozená otázka: je kód, který jsme zkompilovali, při absenci chyb skutečně optimální? Abychom na tuto otázku odpověděli, zjistěme průměrnou informaci na elementární symbol (0 nebo 1) a porovnejme ji s maximální možnou informací, která se rovná jedné binární jednotce. K tomu nejprve zjistíme průměrnou informaci obsaženou v jednom písmenu přenášeného textu, tedy entropii na písmeno:

,

kde je pravděpodobnost, že písmeno nabude určitého stavu („-“, o, e, a,..., f).

Od stolu 18.8.1 máme

(dvě jednotky na písmeno textu).

Pomocí tabulky 18.8.2 určíme průměrný počet elementárních symbolů na písmeno

Vydělením entropie získáme informaci na elementární symbol

(dvě jednotky).

Informace na znak se tedy velmi blíží horní hranici 1 a námi zvolený kód se velmi blíží optimálnímu. Pokud zůstaneme v mezích úkolu kódování písmen, nemůžeme dosáhnout ničeho lepšího.

Všimněte si, že v případě kódování jednoduše binárních čísel písmen bychom měli obrázek každého písmene s pěti binárními znaky a informace pro jeden znak by byly

(dvě jednotky),

tedy znatelně méně než při optimálním kódování písmen.

Je však třeba poznamenat, že kódování „dopisem“ není vůbec ekonomické. Faktem je, že mezi sousedními písmeny jakéhokoli smysluplného textu vždy existuje závislost. Například po samohlásce v ruském jazyce nemůže být „ъ“ nebo „ь“; „Já“ nebo „yu“ se nemohou objevit po syčení jedniček; po několika souhláskách za sebou se zvyšuje pravděpodobnost samohlásky atd.

Víme, že při kombinaci závislých systémů je celková entropie menší než součet entropií jednotlivých systémů; proto je informace přenášená částí spojeného textu vždy menší než informace na znak krát počet znaků. S ohledem na tuto okolnost lze vytvořit ekonomičtější kód, pokud nekódujete každé písmeno jednotlivě, ale celé „bloky“ písmen. Například v ruském textu má smysl zakódovat zcela některé často se vyskytující kombinace písmen, jako je „tsya“, „ayet“, „nie“ atd. Kódované bloky jsou uspořádány v sestupném pořadí podle frekvence, jako jsou písmena ve stole. 18.8.1 a binární kódování se provádí podle stejného principu.

V některých případech se ukazuje jako rozumné nekódovat ani bloky písmen, ale celé smysluplné části textu. Například pro odlehčení telegrafu během prázdnin je vhodné zakódovat celé standardní texty konvenčními čísly, jako jsou:

"Gratuluji k novému roku, přeji hodně zdraví a úspěchů ve Vaší práci."

Aniž bychom se zabývali konkrétně metodami blokového kódování, omezíme se na formulování zde související Shannonovy věty.

Nechť je zdroj informací a přijímač propojeny komunikačním kanálem (obr. 18.8.1).

Je známa produktivita informačního zdroje, tj. průměrný počet binárních informačních jednotek pocházejících ze zdroje za jednotku času (číselně se rovná průměrné entropii zprávy produkované zdroji za jednotku času). Nechť je navíc známa kapacita kanálu, tj. maximální množství informací (například binární znaky 0 nebo 1), které je kanál schopen přenést za stejnou časovou jednotku. Nabízí se otázka: jaká by měla být kapacita kanálu, aby se „vyrovnal“ se svým úkolem, tedy aby informace od zdroje k přijímači dorazily bez prodlení?

Odpověď na tuto otázku dává první Shannonova věta. Zformulujme to zde bez důkazů.

Shannonova 1. věta

Pokud je kapacita komunikačního kanálu větší než entropie informačního zdroje za jednotku času

pak je vždy možné zakódovat dostatečně dlouhou zprávu tak, aby byla bez zpoždění přenášena komunikačním kanálem. Pokud naopak

pak je bezodkladný přenos informací nemožný.