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.

Hlasujte ve finále ankety Blogera roku

Autor: Vlastimil Fürst | neděle 16.9.2018 20:50 | karma článku: 24,34 | přečteno: 5480x
  • 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: 64x | 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: 712x | 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: 881x | 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: 1206x | Diskuse| Společnost
  • Nejčtenější

Drahé a rezavé, řeší Ukrajinci zbraně z Česka. Ani nezaplatili, brání se firma

18. května 2024  12:02

Premium České zbrojařské firmy patří dlouhou dobu mezi klíčové dodavatele pro ukrajinskou armádu i tamní...

Putinova časovaná bomba. Kadyrov umírá, rozjíždí se krvavý boj o trůny

17. května 2024  14:16

Premium Ramzan Kadyrov ještě dýchá, v Čečensku se však už začíná hledat jeho nástupce. Naznačují to i...

Královna fetiše rozdráždila Ameriku. Její fotografce se klaní i feministky

22. května 2024

Seriál „Nejkrásnější fotografka“ či „nejlepší pin-up fotografka na světě“. Taková čestná přízviska si...

Turisté si zajeli do Afghánistánu. Střelci část Evropanů povraždili i s průvodci

18. května 2024  17:57

Neznámí ozbrojenci v pátek večer v provincii Bámján v centrální části Afghánistánu zabili tři...

Vrtulník íránského prezidenta havaroval v mlze, záchranáři po něm pátrají

19. května 2024,  aktualizováno  22:16

Aktualizujeme Na severozápadě Íránu pokračuje rozsáhlá záchranná operace poté, co zde zmizel vrtulník s íránským...

Mezinárodní soudní dvůr nařídil Izraeli zastavit ofenzivu v Rafáhu

24. května 2024  15:41,  aktualizováno  15:59

Mezinárodní soudní dvůr (ICJ) nařídil Izraeli zastavit ofenzivu ve městě Rafáh v Pásmu Gazy a...

Čelní srážka dvou aut u Benešova uzavřela tah na Tábor. Na místě zasahoval vrtulník

24. května 2024  12:45,  aktualizováno  15:58

Hlavní tah z Prahy na Tábor zablokovala před polednem u Bystřice na Benešovsku čelní srážka dvou...

V Praze na hlavním nádraží se srazil osobní vlak s posunovací lokomotivou

24. května 2024  12:28,  aktualizováno  15:53

Na pražském hlavním nádraží se v pátek dopoledne střetl osobní vlak s posunovací lokomotivou....

Putin se chystá na návštěvu do KLDR, uskuteční se v „dohledné době“

24. května 2024  15:45

Kreml chystá návštěvu prezidenta Vladimira Putina v Severní Koreji, uvedla v pátek agentura RIA...

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

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

  • Počet článků 116
  • Celková karma 0
  • Průměrná čtenost 1533x
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ě.