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,35 | přečteno: 5674x

Další články autora

Vlastimil Fürst

Mizogynní pohádka

Feministické pohádky už byly. Zkusme pohádku v mizogynním střihu, a přesto s hloupým Honzou v titulní roli.

14.4.2025 v 22:54 | Karma: 13,49 | Přečteno: 270x | Diskuse | Společnost

Vlastimil Fürst

„Holky těžší to maj.“

Od mateřství přes společenské očekávání až po postavení na pracovišti: Mají ženy těžší život, než muži?

18.2.2025 v 15:15 | Karma: 15,24 | Přečteno: 331x | Diskuse | Společnost

Vlastimil Fürst

Ideový balíček all-inclusive

U hlučných aktivistů často nabývám dojmu, že jsou jako přes kopírák. Asi načerpali veškeré své myšlenky ze stejného zdroje.

2.2.2025 v 15:30 | Karma: 15,65 | Přečteno: 553x | Diskuse | Společnost

Vlastimil Fürst

Palestina nenávistí nemocná

Matka je hrdá na svého syna, že konečně něčeho v životě dokázal. Konečně zabil Žida. V Gaze nastává bujaré veselí.

28.1.2025 v 18:00 | Karma: 29,82 | Přečteno: 715x | Diskuse | Společnost

Vlastimil Fürst

Kdo nenávidí Izrael?

Zpochybňují zvěrstva spáchaná Hamásem 7. října 2023. Protestují na podporu Palestinců. Ale údajně nejsou antisemité.

27.1.2025 v 23:23 | Karma: 23,71 | Přečteno: 400x | Diskuse | Společnost

Nejčtenější

Poslední týden na daňové přiznání za rok 2024 online. Jak na to?

25. dubna 2025  9:05

Nejen podnikatelé, drobní živnostníci a osoby samostatně výdělečně činné musí podat daňové...

Turek jel rychlostí přes 200 km/h a fotil se u toho. Policie věc prošetřuje

20. dubna 2025  8:48,  aktualizováno  13:55

Europoslanec Filip Turek (Motoristé sobě) se na svém účtu na Instagramu pochlubil fotkou, ze které...

Po rychlé jízdě zemřel řidič v hořícím autě. Turek spekuluje o krvi na rukou médií

21. dubna 2025  18:19

Hasiči v Brně v pondělí našli v hořícím voze mrtvého muže. Podle prvotních informací jel vůz po...

Jednání o míru jsou v kritické fázi, řekl Trump. Rubio rovnou naznačil konec

18. dubna 2025  9:30,  aktualizováno  19.4 7:18

Sledujeme online Americký prezident Donald Trump v pátek naznačil, že USA zastaví mírové rozhovory, pokud Rusko nebo...

Papež František zemřel. Bojoval s nemocemi, bylo mu 88 let

21. dubna 2025,  aktualizováno  12:07

Papež František v pondělí ráno zemřel. „Drazí bratři a sestry, s hlubokým smutkem musím oznámit...

Začal pohřeb papeže Františka. Vatikán obsadily davy, přihlíží Trump i Zelenskyj

26. dubna 2025,  aktualizováno  10:17

Přímý přenos Na Svatopetrském náměstí začal smuteční obřad před pohřbem papeže Františka, kterému přihlíží...

Hrozba úniku plynu zastavila v Brně dopravu, hasiči evakuovali asi deset lidí

26. dubna 2025  8:57

Brněnští hasiči a policisté v sobotu ráno na Hlinkách evakuovali přibližně deset lidí kvůli...

Podle Trumpa je mírová dohoda Ruska s Ukrajinou blízko, vyzval strany k setkání

26. dubna 2025  7:38

Ukrajina a Rusko jsou velmi blízko mírové dohodě a měly by uspořádat setkání na velmi vysoké...

OBRAZEM: Českou spořitelnu čeká stěhování. Na Smíchově vzniká nový kampus

26. dubna 2025

Zaměstnance České spořitelny čeká už brzy velké stěhování. Banka si na pražském Smíchově staví...

Akční letáky
Akční letáky

Všechny akční letáky na jednom místě!

  • Počet článků 132
  • Celková karma 19,58
  • Průměrná čtenost 1498x
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ě.
Nastavte si velikost písma, podle vašich preferencí.