Premium

Získejte všechny články
jen za 89 Kč/měsíc

Dvojková soustava je jednoduchá!

Jako programátor občas narážím na přesvědčení lidí, že dvojková soustava je složitá. Jsem přesvědčený o opaku. A jistě by vám totéž řekly i děti školou povinné, které se teprve učí malou násobilku.

V naší společnosti obvykle používáme tři číselné soustavy. Úplně nejjednodušší číselná soustava na světě je jedničková – tu používáme, když počítáme na prstech. Používá ji i pan vrchní, když na lístek značí, kolik jsme si objednali piv. Horší už je zápis větší čísel nebo dokonce násobení, tam pohořely i římské číslice.

Trochu méně používaná je šedesátková. Tu měli rádi staří Sumerové, protože 60 lze dělit čísly 2-6 beze zbytku. Sice nemáme číslice do šedesáti, ale při počítání času víme, že 3× 0:45 je 2:15.

Desítkovou nemusím představovat. Je součástí mluveného jazyka. Učíme se v ní odmala počítat – sčítání, malá násobilka ... A díky tomu ji považujeme za přirozenou a jsme zvyklí v ní i přemýšlet.

Rád bych v tomto článku přiblížil vám, čtenářům, číselné soustavy, kterými se většinou zabývají jen programátoři a občas matematici. A už úvodem řeknu, že těžké nejsou ony samotné, ale ta neustálá potřeba přepočtu mezi nimi a desítkovou soustavou.

Dvojková soustava

Dvojkovou soustavu považuji za druhou nejjednodušší na světě. Pro počítač je skvělé, že odpovídá jeho tranzistorovým stavům vypnuto-zapnuto. Navíc je minimalistickou podobou všeho, co má moderní číselná soustava mít:

  • Nulu a jedničku
  • Ciferný zápis, kde zprava doleva narůstá význam (na rozdíl od jedničkové) – jen to zde nejsou desítky, stovky, tisíce, ale dvojky, čtyřky, osmičky, šestnáctky, ...
  • Pravidla pro sčítání a násobení, odpovídají desítkové soustavě
  • Dokonce můžeme použít základní praktiky, které jsme se učili ve škole

Pokud počítáme ve dvojkové a v desítkové s čísly, které mají stejný počet cifer, dvojková je jednoznačně snadnější. Děti, které se právě učí malou násobilku, by při pohledu na obrázek výše řekly, „paráda, to je snadné, nemůžeme se to učit místo desítkové?“

Komplikace ale začnou s rostoucím počtem cifer. Ty ve dvojkové rostou zhruba 3,3× rychleji. Přesnější definice je log 10 / log 2. Pokud tedy na desítkové číslo použijete tři číslice, na dvojkové to bude přibližně 10. Složitost výpočtů tedy ve finále neklesne – počítáme s menšími číslicemi, ale zato je jich více a častěji převádíme do vyšších řádů.

Já jsem v minulosti zkoušel binární hodinky. Také jsem zkoušel počítat na prstech ve dvojkové soustavě – také to někdy zkuste, je to docela sranda. Každý prst je jeden bit, můžeme tedy dosáhnout až 21° hodnot, tedy 1024. Praktickému použití ale trochu brání nutnost přepočtu čísel do dvojkové soustavy a zpět. Navíc, některá čísla mohou způsobit nepochopení až rozhořčení. Zkuste pak vysvětlit, že to mělo znamenat číslo čtyři a ne „fakáč“.

Existuje 10 skupin lidí – ti, kteří chápou vtipy ve dvojkové soustavě, a ti, kteří nikoli.

Další soustavy v počítačích

Snad i proto se k zápisu čísel běžně používají jiné číselné soustavy, než dvojková. Zajímavé pro počítač jsou ale jen mocniny dvou – kvůli snazšímu převodu na dvojkovou soustavu. Podle toho, o kolikátou jde mocninu dvojky, tolik bitů (tedy dvojkových číslic) se dovnitř vejde. Například osmičková číslice tak obsáhne tři bity, šestnáctková čtyři.

Kromě dvojkové soustavy je asi nejčastěji používaná šestnáctková – existuje ale více číselných soustav, které se v počítačích někdy používají, a některé si krátce popíšeme.

Osmičková soustava

Historicky byla používaná osmičková soustava, ta už ale dávno ztratila na významu. Roste v počtu číslic jen o 10% rychleji než desítková, a je vlastně desítkové dost podobná i vizuálně. Nejvyšší číslicí je 7, po ní už následuje 10.

Tato číselná soustava byla asi zajímavější v době, kdy bajty coby úseky, po kterých se čte paměť, nebyly ještě ustálené na osmi bitech. Pro zápis latinky a nějakých dalších znaků stačilo šest bitů, tzn. rozsah 0-63. A to dokázaly popsat dvě osmičkové číslice. Jelikož má číselná soustava méně číslic než desítková, stačí použít stejné číslice, pouze vynecháme 8 a 9.

Pro rozlišení se někdy psala v literatuře zkratka OCT (a DEC u desítkové), což v kombinaci s latinskými názvy měsíců vysvětluje, proč si programátoři někdy pletli Vánoce a Halloween – totiž, 25 DEC = 31 OCT.

Šestnáctková soustava

Po ustálení osmibitových bajtů osmičková soustava ztrácela na významu ve prospěch šestnáctkové. Totiž, pomocí dvou číslic můžete zapsat jeden bajt, což je praktické pro kratší zápis. Délka čísla v počtu číslic roste o 20% pomaleji než u desítkové soustavy. Jenže kde vzít dalších šest číslic?

Nuže – použijeme písmena A-F, které pokryjí číslice s hodnotou 10-15. Kromě toho, že se tak dá vyhnout dodatečnému úsilí k vymýšlení nových symbolů (programátoři jsou líní, když mohou) tím vznikla možnost používat speciální hodnoty, které v hexa kódu zní jako čitelný text – například chybu historicky značil zápis DEAD BEEF (tady zdechla kráva), a Java třídy začínají CAFE BABE.

Hexa(decimální) kód je oblíbený také u barev. Dříve se používalo poměrně běžně 5-6 bitů na barevný kanál, což zvládly pokrýt osmičkové nebo desítkové číslice s přehledem. Dnes je v oblibě šestnáctkový zápis, se kterým se setkáte například při programování webů – HTML a CSS používají právě šestnáctkový RGB zápis na barvy. Barvy jdou v pořadí červená, zelená, modrá, pro každý kanál dvě číslice. Např. FF7F00 je sytě oranžová.

Šestnáctková soustava má ale delší historii, než byste si mysleli. Zabýval se jí už William Shakespeare, když se Hamlet ptal, „2B or not 2B“. Tehdy ještě neznal odpověď, my už dnes víme, že 2B | ~2B = FF.

Báze 64

O něco novější, byť už také letitá, je báze 64. V různých použitích se pracuje s textovými soubory, kde jsou některé znaky zakázané, nebo mají zvláštní význam. Jenže i v tom textovém souboru je někdy potřeba zaznamenat binární data. Například chcete přes HTTP protokol odeslat své bance svůj certifikát, nebo chcete do webové stránky vložit obrázek přímo, ne jako samostatný soubor.

Proto vznikl standard Base 64. Je to číselná soustava se základem 64, a čitelnost člověkem už není vůbec zamýšlená. Proto se domnívám, že o ní moc vtipů nevzniklo a pokud už nějaké existují, tak pointa nejspíš unikne i většině programátorů. Dokonce ani prvními číslicemi nejsou „arabské“ číslice – začíná velkými písmeny latinky, pak navazují malá písmena, pak teprve „arabské“ číslice. To je ale jen 62, zbylé dva znaky se pak mezi standardy liší.

Závěr

Byť se programátoři učí i číselným soustavám, které jsou ostatním (snad kromě matematiků) dost cizí, nakonec stejně v naprosté většině případů počítají v jedničkové, desítkové a šedesátkové soustavě, jako většina ostatních lidí. Co jsem popisoval výše, platí i pro nás – učili jsme se to od dětství, mluvíme v desítkové, přemýšlíme v desítkové. A tak i pro nás zůstává jako nejtěžší oříšek při počítání v těchto číselných soustavách převod z desítkové soustavy a naopak.

Autor: Vlastimil Fürst | neděle 16.9.2018 20:50 | karma článku: 24,34 | přečteno: 5466x
  • Další články autora

Vlastimil Fürst

Šmejdi prodávají šmejdy

V české kultuře je zažité, že bazarové je výhodnější. Leckdy to může být pravda, ale ne vždy to platí. A nezřídka se najdou prodejci, kteří tohoto českého zvyku zneužívají. Například u bazarových herních počítačů.

21.4.2024 v 16:41 | Karma: 0 | Přečteno: 63x | Diskuse| Společnost

Vlastimil Fürst

Palestinské „Chcete mě?”

Když vidíme, jak srdnatě za Palestinu bojují lidé jak na internetu, tak i v ulicích, domnívali bychom se, že je všichni jejich arabští bratři i muslimští spoluvěřící vyloženě milují. Je tomu opravdu tak?

20.2.2024 v 21:30 | Karma: 33,02 | Přečteno: 711x | Diskuse| Společnost

Vlastimil Fürst

Pohlaví násilníka „neznáme“ …

Na vlakové stanici ve Vancouveru došlo v loňském srpnu k sexuálnímu napadení ženy. Policie dělá všechno pro dopadení osoby pachatele a před pár dny už i požádala veřejnost o pomoc s její identifikací.

17.2.2024 v 0:00 | Karma: 28,75 | Přečteno: 879x | Diskuse| Společnost

Vlastimil Fürst

Jděte, a vychovávejte si mučedníky

Vím, Ježíš to řekl jinak. Ale pak přišel „poslední prorok“ Mohamed a trochu to změnil. A po něm další, jako Marx, proroci ateistické školy žido-křesťanské tradice. Učednictví netáhne, doba si žádá mučedníky.

5.2.2024 v 12:00 | Karma: 20,97 | Přečteno: 387x | Diskuse| Společnost

Vlastimil Fürst

Děje se něco strašného.

Situace snad nemůže být horší. Akademici z celé západní civilizace varují před katastrofou a univerzitní kampusy se aktivizují. Zánik naší civilizace zdá se být nevyhnutelným.

2.1.2024 v 10:55 | Karma: 34,91 | Přečteno: 1204x | Diskuse| Společnost
  • Nejčtenější

Tři roky vězení. Soud Ferimu potvrdil trest za znásilnění, odvolání zamítl

22. dubna 2024,  aktualizováno  14:47

Městský soud v Praze potvrdil tříletý trest bývalému poslanci Dominiku Ferimu. Za znásilnění a...

Studentky rozrušila přednáška psycholožky, tři dívky skončily v nemocnici

25. dubna 2024  12:40,  aktualizováno  14:38

Na kutnohorské střední škole zasahovali záchranáři kvůli skupině rozrušených studentek. Dívky...

Takhle se mě dotýkal jen gynekolog. Fanynky PSG si stěžují na obtěžování

21. dubna 2024  16:37

Mnoho žen si po úterním fotbalovém utkání mezi PSG a Barcelonou postěžovalo na obtěžování ze strany...

Školu neznaly, myly se v potoce. Živořící děti v Hluboké vysvobodili až strážníci

22. dubna 2024  10:27

Otřesný případ odhalili strážníci z Hluboké nad Vltavou na Českobudějovicku. Při jedné z kontrol...

Prezident Petr Pavel se zranil v obličeji při střelbě ve zbrojovce

19. dubna 2024  15:44

Prezident Petr Pavel se při střelbě na střelnici v uherskobrodské České zbrojovce, kam zavítal...

Další případ zpožděné dodávky zbraní. Česká firma se soudí na Ukrajině

26. dubna 2024

Premium Vztahy mezi Českem a Ukrajinou nejsou vždycky idylické. Svědčí o tom soudní spor, na který narazila...

Světlušky mění válčení ve městech. Nové drony snížily počet padlých Izraelců

26. dubna 2024

Premium Jen několik decimetrů velký přístroj může znamenat revoluci městské války: minivrtulník, který...

Dva ruští vojáci se doznali k trojnásobné vraždě na Ukrajině

25. dubna 2024  23:07

V okupované části Chersonské oblasti na jihovýchodu Ukrajiny zadrželi dva ruské vojáky, kteří se...

Architektonickou cenu EU získal univerzitní pavilon, blízko byla i ostravská galerie

25. dubna 2024  21:23

Studijní pavilon Technické univerzity v německém Braunschweigu se stal vítězem prestižní...

  • Počet článků 116
  • Celková karma 27,58
  • Průměrná čtenost 1520x
Profesí jsem programátor. Občas píšu o věcech blízkých mému oboru, protože mě nejen živí, ale i baví.

Píšu i o tématech, ve kterých postrádám formální vzdělání, ale dění ve společnosti mě nutí udělat si na ně názor.

Závěrem, mého tátu asi znáte lépe, než mně.