Premium

Získejte všechny články mimořádně
jen za 49 Kč/3 měsíce

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: 5468x
  • 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: 1205x | Diskuse| Společnost
  • Nejčtenější

Nahá umělkyně za zvuků techna házela před dětmi hlínou. Už to řeší policie

3. května 2024  10:10,  aktualizováno  13:43

Policie prošetřuje vystoupení, ke kterému došlo na Akademii výtvarných umění (AVU). Umělkyně a...

Stovky amerických obrněnců se v řádu dnů nepozorovaně přemístily do Česka

2. května 2024  17:21

Několik set vozidel americké armády včetně obrněnců Bradley nebo transportérů M113 se objevilo ve...

Německo je otřeseno. Přišel brutální útok na politika, pak následoval další

4. května 2024  17:40,  aktualizováno  21:09

Na lídra kandidátky německé sociální demokracie (SPD) v Sasku do evropských voleb Matthiase Eckeho...

Vyváděla strašné věci. Zahradil označil Jourovou za nejhorší z eurokomisařů

4. května 2024

Premium Když Česko vstoupilo 1. května do Evropské unie, byl tam matador ODS Jan Zahradil kooptován...

Auto vyjelo z vozovky a srazilo tři lidi. Žena zemřela, dvě vnučky jsou zraněné

2. května 2024  16:40,  aktualizováno  3.5 12:38

Osobní auto srazilo dnes odpoledne v Čáslavicích na Třebíčsku ženu a dvě děti. Žena srážku...

Ani vás nepustí do haly. Podvodů při prodeji lístků na MS v hokeji přibývá

6. května 2024

Organizátoři i policie varují: Kupovat vstupenky na mistrovství světa v hokeji od někoho jiného než...

Katar plánuje vyhoštění lídrů Hamásu, ale není kam. Jordánsko je zpět nechce

6. května 2024

Premium Katar je místo, kde si lídři teroristické organizace Hamás léta užívali pětihvězdičkového luxusu....

Za bydlení politiků platíme tisíce, vládní byty a vily mnozí z nich nevyužívají

6. května 2024

Premium Stát jen za tento rok zaplatí za bydlení v Praze mimopražského ministra školství Mikuláše Beka...

Izrael zavřel hraniční přechod do Pásma Gazy. Humanitární pomoc tam končí

5. května 2024  14:36,  aktualizováno  22:53

Izraelská armáda v neděli oznámila, že po ostřelování uzavírá hraniční přechod Kerem Šalom, určený...

  • Počet článků 116
  • Celková karma 30,88
  • 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ě.