Jako binární kód. Binární kód na text

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 v hexadecimálním čísle 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 dokonce i ty mohou trpět problémy s rozlišením mezi zapnutým a vypnutým stavem (i když je to kvůli jejich nereálné velikosti molekul 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í výzvám miniaturizace. Prozatím bude svět nadále fungovat v binárním režimu.

Každý ví, že počítače mohou provádět výpočty na velkých skupinách dat obrovskou rychlostí. Ale ne každý ví, že tyto akce závisí pouze na dvou podmínkách: zda existuje proud nebo ne a jaké napětí.

Jak počítač zvládá zpracovávat takové množství informací?
Tajemství spočívá v binární číselné soustavě. Všechna data vstupují do počítače, prezentovaná ve formě jedniček a nul, z nichž každá odpovídá jednomu stavu elektrického vodiče: jedničky - vysoké napětí, nuly - nízké nebo jedničky - přítomnost napětí, nuly - jeho nepřítomnost. Převod dat na nuly a jedničky se nazývá binární konverze a její konečné označení se nazývá binární kód.
V desítkovém zápisu, založeném na systému desítkových čísel používaných v každodenním životě, je číselná hodnota reprezentována deseti číslicemi od 0 do 9 a každé místo v čísle má hodnotu desetkrát vyšší než místo napravo od něj. Pro znázornění čísla většího než devět v desítkové soustavě se na jeho místo umístí nula a na další cennější místo vlevo se umístí jednička. Podobně ve dvojkové soustavě, která používá pouze dvě číslice – 0 a 1, má každé místo dvakrát větší hodnotu než místo napravo od něj. V binárním kódu tedy mohou být pouze nula a jedna reprezentovány jako jednotlivá čísla a jakékoli číslo větší než jedna vyžaduje dvě místa. Po nule a jedničce jsou další tři binární čísla 10 (čti jedna-nula) a 11 (čti jedna-jedna) a 100 (čti jedna-nula-nula). 100 binárních se rovná 4 desetinným místům. V horní tabulce vpravo jsou uvedeny další ekvivalenty BCD.
Jakékoli číslo lze vyjádřit binárně, jen zabírá více místa než v desítkové soustavě. Abeceda může být zapsána i ve dvojkové soustavě, pokud je každému písmenu přiřazeno určité binární číslo.

Dvě postavy na čtyři místa
Pomocí tmavých a světlých kuliček lze vytvořit 16 kombinací, které lze zkombinovat do sad po čtyřech. Pokud jsou tmavé koule brány jako nuly a světlé koule jako jedničky, pak se 16 sad ukáže jako 16-jednotkový binární kód, což je číselná hodnota. což je od nuly do pěti (viz horní tabulka na straně 27). I se dvěma typy kuliček ve dvojkové soustavě lze jednoduše sestavit nekonečné množství kombinací zvýšením počtu kuliček v každé skupině – nebo počtu míst v číslech.

Bity a bajty

Nejmenší jednotka v počítačovém zpracování, bit je jednotka dat, která může mít jednu ze dvou možných podmínek. Například každá z jedniček a nul (vpravo) představuje 1 bit. Bit může být reprezentován jinými způsoby: přítomnost nebo nepřítomnost elektrického proudu, díra nebo její nepřítomnost, směr magnetizace vpravo nebo vlevo. Osm bitů tvoří bajt. 256 možných bajtů může představovat 256 znaků a symbolů. Mnoho počítačů zpracovává jeden bajt dat najednou.

Binární konverze. Čtyřmístný binární kód může představovat desetinná čísla od 0 do 15.

Kódové tabulky

Když se binární kód používá k reprezentaci písmen abecedy nebo interpunkčních znamének, jsou vyžadovány kódové tabulky, které udávají, který kód odpovídá kterému znaku. Několik takových kódů bylo sestaveno. Většina počítačů je nakonfigurována se sedmimístným kódem nazývaným ASCII, neboli americký standardní kód pro výměnu informací. Tabulka vpravo ukazuje ASCII kódy pro anglickou abecedu. Jiné kódy jsou pro tisíce znaků a abeced jiných jazyků světa.

Část tabulky kódů ASCII

Binární kód představuje text, instrukce procesoru počítače nebo jiná data pomocí libovolného dvouznakového systému. Nejčastěji se jedná o systém 0 a 1, který každému symbolu a instrukci přiřadí vzor binárních číslic (bitů). Například binární řetězec osmi bitů může představovat kteroukoli z 256 možných hodnot a může tedy generovat mnoho různých prvků. Recenze binárního kódu od celosvětové odborné komunity programátorů naznačují, že toto je základ profese a hlavní zákon fungování počítačových systémů a elektronických zařízení.

Dešifrování binárního kódu

V oblasti výpočetní techniky a telekomunikací se binární kódy používají pro různé metody kódování datových znaků do bitových řetězců. Tyto metody mohou používat řetězce s pevnou šířkou nebo proměnnou šířkou. Existuje mnoho znakových sad a kódování pro převod na binární kód. V kódu s pevnou šířkou je každé písmeno, číslo nebo jiný znak reprezentován bitovým řetězcem stejné délky. Tento bitový řetězec, interpretovaný jako binární číslo, se obvykle zobrazuje v kódových tabulkách v osmičkovém, desítkovém nebo hexadecimálním zápisu.

Binární dekódování: Bitový řetězec interpretovaný jako binární číslo lze převést na desítkové číslo. Například malé písmeno a, pokud je reprezentováno bitovým řetězcem 01100001 (jako ve standardním ASCII kódu), může být také reprezentováno jako desítkové číslo 97. Převod binárního kódu na text je stejný postup, jen obráceně.

Jak to funguje

Z čeho se skládá binární kód? Kód používaný v digitálních počítačích je založen na tom, že existují pouze dva možné stavy: zapnuto. a vypnuto, obvykle se značí nulou a jedničkou. Zatímco v desítkové soustavě, která používá 10 číslic, je každá pozice násobkem 10 (100, 1000 atd.), ve dvojkové soustavě je každá pozice číslice násobkem 2 (4, 8, 16 atd.) . Signál binárního kódu je řada elektrických impulsů, které představují čísla, symboly a operace, které mají být provedeny.

Zařízení zvané hodiny vysílá pravidelné impulsy a součástky, jako jsou tranzistory, se zapínají (1) nebo vypínají (0), aby impulsy vysílaly nebo blokovaly. V binárním kódu je každé dekadické číslo (0-9) reprezentováno sadou čtyř binárních číslic nebo bitů. Čtyři základní operace aritmetiky (sčítání, odčítání, násobení a dělení) lze redukovat na kombinace základních booleovských algebraických operací na binárních číslech.

Bit v teorii komunikace a informace je jednotka dat ekvivalentní výsledku volby mezi dvěma možnými alternativami v binárním číselném systému běžně používaném v digitálních počítačích.

Recenze binárního kódu

Povaha kódu a dat je základní součástí základního světa IT. Tento nástroj využívají specialisté z globálního „zákulisí“ IT – programátoři, jejichž specializace je pozornosti běžného uživatele skryta. Recenze binárního kódu od vývojářů naznačují, že tato oblast vyžaduje hluboké studium matematických základů a rozsáhlou praxi v oblasti matematické analýzy a programování.

Binární kód je nejjednodušší formou počítačového kódu nebo programovacích dat. Je zcela reprezentován binárním číselným systémem. Podle recenzí binárního kódu je často spojován se strojovým kódem, protože binární sady lze kombinovat do podoby zdrojového kódu, který je interpretován počítačem nebo jiným hardwarem. To je částečně pravda. používá sady binárních číslic k vytvoření instrukcí.

Spolu s nejzákladnější formou kódu představuje binární soubor také nejmenší množství dat, která protékají všemi komplexními hardwarovými a softwarovými systémy, které zpracovávají dnešní zdroje a datová aktiva. Nejmenší množství dat se nazývá bit. Aktuální řetězce bitů se stanou kódem nebo daty, která jsou interpretována počítačem.

Binární číslo

V matematice a digitální elektronice je binární číslo číslo vyjádřené v číselné soustavě se základem 2 nebo v binární číselné soustavě, která používá pouze dva znaky: 0 (nula) a 1 (jedna).

Číselný systém se základem 2 je poziční zápis s poloměrem 2. Každá číslice je označována jako bit. Díky jednoduché implementaci v digitálních elektronických obvodech pomocí logických pravidel je binární systém používán téměř všemi moderními počítači a elektronickými zařízeními.

Příběh

Moderní binární číselný systém jako základ pro binární kód vynalezl Gottfried Leibniz v roce 1679 a představil jej ve svém článku „Binary Arithmetic Explained“. Binární čísla byla ústředním bodem Leibnizovy teologie. Věřil, že binární čísla symbolizují křesťanskou myšlenku kreativity ex nihilo, neboli stvoření z ničeho. Leibniz se pokusil najít systém, který by verbální výroky logiky přeměnil na čistě matematická data.

Binární systémy, které předcházely Leibnizovi, také existovaly ve starověkém světě. Příkladem je čínský binární systém I-ťing, kde je věštecký text založen na dualitě jin a jang. V Asii a Africe se ke kódování zpráv používaly štěrbinové bubny s binárními tóny. Indický učenec Pingala (cca 5. století př. n. l.) ve svém díle Čandashutrema vyvinul binární systém k popisu prozodie.

Obyvatelé ostrova Mangareva ve Francouzské Polynésii používali až do roku 1450 hybridní binárně-desítkovou soustavu. V 11. století vyvinul vědec a filozof Shao Yong metodu uspořádání hexagramů, která odpovídá sekvenci 0 až 63, jak je reprezentována v binárním formátu, přičemž jin je 0 a jang je 1. Pořadí je také lexikografickým řádem v bloky prvků vybraných ze dvouprvkové sady.

Nový čas

V roce 1605 byl diskutován systém, ve kterém by písmena abecedy mohla být redukována na sekvence binárních číslic, které by pak mohly být zakódovány jako jemné variace typu v libovolném náhodném textu. Je důležité poznamenat, že to byl Francis Bacon, kdo doplnil obecnou teorii binárního kódování o pozorování, že tuto metodu lze použít s libovolnými objekty.

Jiný matematik a filozof jménem George Boole publikoval v roce 1847 článek nazvaný „Mathematical Analysis of Logic“, který popisoval algebraický systém logiky známý dnes jako Booleova algebra. Systém byl založen na binárním přístupu, který se skládal ze tří základních operací: AND, OR a NOT. Tento systém nebyl funkční, dokud si student MIT jménem Claude Shannon nevšiml, že Booleova algebra, kterou se učil, byla podobná elektrickému obvodu.

Shannon napsal v roce 1937 disertační práci, která přinesla důležitá zjištění. Shannonova teze se stala výchozím bodem pro použití binárního kódu v praktických aplikacích, jako jsou počítače a elektrické obvody.

Jiné formy binárního kódu

Bitstring není jediným typem binárního kódu. Binární systém je obecně jakýkoli systém, který umožňuje pouze dvě možnosti, jako je přepínač v elektronickém systému nebo jednoduchý test pravdivosti nebo nepravdy.

Braillovo písmo je druh binárního kódu široce používaný nevidomými ke čtení a psaní dotykem, pojmenovaný po svém tvůrci Louisi Braillovi. Tento systém se skládá z mřížek po šesti bodech, po třech na sloupec, přičemž každý bod má dva stavy: vyvýšený nebo zapuštěný. Různé kombinace teček mohou představovat všechna písmena, čísla a interpunkční znaménka.

Americký standardní kód pro výměnu informací (ASCII) používá 7bitový binární kód k reprezentaci textu a dalších znaků v počítačích, komunikačních zařízeních a dalších zařízeních. Každému písmenu nebo symbolu je přiřazeno číslo od 0 do 127.

Binární kódovaná desítka nebo BCD je binárně kódovaná reprezentace celočíselných hodnot, která používá 4bitový graf ke kódování desítkových číslic. Čtyři binární bity mohou zakódovat až 16 různých hodnot.

V číslech kódovaných BCD je platných pouze prvních deset hodnot v každém nibble a kódují desetinná místa s nulami po devítkách. Zbývajících šest hodnot je neplatných a může způsobit výjimku stroje nebo nespecifikované chování v závislosti na implementaci aritmetiky BCD v počítači.

Aritmetika BCD je někdy upřednostňována před formáty čísel s pohyblivou řádovou čárkou v komerčních a finančních aplikacích, kde je chování zaokrouhlování komplexních čísel nežádoucí.

aplikace

Většina moderních počítačů používá pro instrukce a data program s binárním kódem. Disky CD, DVD a Blu-ray představují zvuk a video v binární formě. Telefonní hovory jsou přenášeny digitálně v dálkových a mobilních telefonních sítích pomocí pulzní kódové modulace a hlasově přes IP sítě.

Zde můžete převést binární čísla na znaky ASCII, které jsou ve vaší hlavě často docela jednoduché.

1 - Převeďte každé 4 binární číslice na jednu šestou číslici.

Zde je převodní graf v binárním formátu:

0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = a (hexadecimální číslo a, nikoli písmeno a) = b) 10111 = 10111 1110 = e 1111 = f

(Šestnáctková čísla a až f jsou dekadická čísla 10 až 15. Hexadecimální nebo „základ 16“ je to, že místo toho, aby každá číslice mohla představovat 10 různých čísel, jako je desetinné číslo nebo „základ 10“, každá číslice místo toho to může představovat 16 různých čísel.)

Jakmile znáte tento diagram, převod libovolného řetězce binárních číslic na řetězec hexadecimálních číslic je jednoduchý.

Například,

01000100 = 0100 0100 = 44 hex 1010001001110011 = 1010 0010 0111 0011 = a273 hex

Dost jednoduché, že? Snadno převeďte binární číslo libovolné délky na jeho hexadecimální ekvivalent.

(Funguje to, protože hexadecimální je základ 16 a binární je základ 2 a 16 je 4. mocnina 2, takže k získání 1 hexadecimální číslice jsou potřeba 4 binární číslice. Na druhou stranu 10 není mocnina 2, takže my ne, můžeme převést binární na desítkové téměř stejně snadno.)

2 - Rozdělte řetězec hexadecimálních číslic do dvojic.

Při převodu čísla na ASCII jsou každé dvě hexadecimální číslice znaky. Rozdělte tedy hexadecimální řetězec na dvě číslice.

Šestnáctkové číslo jako 7340298b392 byste rozdělili na 6 párů takto:

7340298b392 = 07 34 02 98 b3 92

Jedná se o 6 párů hexadecimálních číslic, takže bude 6 písmen. (Až na to, že jsem si okamžitě uvědomil, že 98, b3 a 92 nejsou písmena. Za chvíli vysvětlím proč.)

3 - Převeďte každý pár hexadecimálních číslic na desítkové číslo.

To provedete vynásobením (desetinný ekvivalent) levé číslice 16 a přidáním druhé číslice.

Například b3 hex = 11 * 16 + 3, což se rovná 110 + 66 + 3, což je 179. (b hex se rovná 11 desetinným místům.)

4 - Převod desetinných čísel na znaky ASCII.

Nyní, abyste získali ASCII písmena pro desetinná čísla, mějte na paměti, že v ASCII je 65 velké "A" a 97 je malé "a".

Takže, co je to písmeno 68?

68 - 4. písmeno abecedy velké, vpravo?
65 = A, 66 = B, 67 = C, 68 = D.

Takže 68 je D.

Vezmete desetinné číslo, odečtete 64 pro velká písmena, pokud je číslo menší než 97, nebo 96 pro malá písmena, pokud je číslo 97 nebo větší, a počet písmen abecedy přidružených k této sadě jsou 2 hexadecimální číslice.

Případně, pokud se nebojíte trochu jednoduché hex aritmetiky, můžete přeskočit krok 3 a prostě přejít z hexu do ASCII a zapamatovat si např.

hex 41 = "A" hex 61 = "a"

Odečtěte tedy 40 hex pro velká písmena nebo 60 hex pro malá písmena a převeďte to, co zbývá, na desítkové, abyste získali písmeno abecedy.

Například

01101100 = 6c, 6c - 60 = c = 12 desetinných míst = "l" 01010010 = 52, 52 - 40 = 12 hex = 18 desetinných míst = "R"

(Je však užitečné si zapamatovat, že „m“ (nebo „M“) je 13. písmeno abecedy. Můžete tedy počítat nahoru nebo dolů od 13, abyste našli písmeno, které je blíže středu než k jednomu konci.)

Jednou jsem to viděl na tričku a dokázal jsem si to přečíst v hlavě:

01000100 01000001 01000100

Udělal jsem to takto:

01000100 = 0100 0100 = 44 hex, - 40 hex = písmeno ucase 4 = D 01000001 = 0100 0001 = 41 hex, - 40 hex = písmeno ucase 1 = A 01000100 = 04 hex case písmeno - 0404 = 01000100 = písmeno 0404 hex = 010010 = D

Na košili bylo napsáno „TÁTA“, což mi přišlo super, protože ho kupovala těhotná žena. Její manžel musí být jako já.

Jak jsem hned pochopil, že 92, b3 a 98 nejsou písmena?

Protože ASCII kód ​​pro malá písmena "z" je 96 + 26 = 122, což je v šestnáctkové soustavě 7a. 7a je největší hexadecimální číslo pro písmeno. Cokoli větší než 7a není písmeno.

Jak to tedy můžete udělat jako lidská bytost.

Jak to počítačové programy dělají?

Pro každou sadu 8 binárních číslic ji převeďte na číslo a vyhledejte ji v tabulce ASCII.

(Toto je poměrně zřejmý a přímočarý způsob. Typický programátor dokáže vymyslet 10 nebo 15 dalších způsobů během několika minut. Podrobnosti závisí na prostředí jazykového rozhraní počítače.)

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čnou číselnou informaci, musí být před dalším zpracováním nejprve 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°.