Co vlastně znamená „soustava“
Zápis čísla je dohoda o tom, co znamená pozice číslice. V desítkové soustavě znamená 1234 přesně 1·103 + 2·102 + 3·101 + 4·100 - každý krok doleva je desetkrát víc. Základ soustavy je to číslo, kterým se násobí; nic jiného se nemění. Ve dvojkové soustavě je základ 2, v šestnáctkové 16, a pravidlo zůstává stejné.
Z toho plyne i kolik je potřeba číslic: vždy přesně tolik, kolik je základ. Desítková má 0 až 9, dvojková jen 0 a 1, šestnáctková potřebuje šestnáct znaků - a protože jich deset arabských nestačí, doplní se písmeny A až F pro hodnoty 10 až 15. Písmena nejsou nic záhadného, jsou to jen číslice, na které se nedostalo.
Převod z desítkové: dělení se zbytkem
Číslo se opakovaně dělí základem cílové soustavy a zapisují se zbytky. Až vyjde podíl nula, přečtou se nasbírané zbytky zdola nahoru - a to je hledaný zápis. Pořadí je to jediné, na čem se dá u téhle metody chybovat, a chybuje se na něm často.
Proč to funguje: jedno dělení základem odloupne poslední číslici zápisu, přesně jako dělení deseti odloupne poslední číslici v desítkové soustavě. Zbytek je ta číslice, podíl je zbytek čísla.
Převod do desítkové: rozvoj podle mocnin
Opačný směr je ještě přímočařejší - každá číslice se vynásobí mocninou základu podle své pozice a všechno se sečte. Pozice se počítají zprava od nuly, takže poslední číslice se násobí základem na nultou, tedy jedničkou. U šestnáctkového 1A vyjde 1·161 + 10·160 = 26.
Dvojková a šestnáctková: převod bez počítání
Šestnáct je čtvrtá mocnina dvou, a to má jeden velmi praktický důsledek: jedna šestnáctková číslice odpovídá přesně čtyřem dvojkovým. Převod mezi těmito dvěma soustavami se proto nepočítá, jen se přeskupuje - binární zápis se zprava rozdělí po čtveřicích a každá čtveřice se nahradí jednou číslicí. Zleva se případně doplní nuly.
Právě kvůli tomu se šestnáctková soustava vůbec používá. Je to zkratka za dvojkovou, čtyřikrát kratší a pořád s ní přesně zarovnaná - proto se v ní píší barvy (#FF8800), adresy v paměti i otisky souborů. Osmičková soustava funguje stejně, jen po trojicích, protože osm je třetí mocnina dvou.
Desetinná část, a proč nemusí vyjít
Desetinná čísla se převádějí opačným postupem: desetinná část se opakovaně násobí základem a odebírá se celá část. Jenže zatímco celé číslo vyjde v každé soustavě přesně, desetinná část nemusí. Zlomek má v cílové soustavě konečný zápis jen tehdy, když prvočísla v jeho jmenovateli dělí i základ té soustavy.
Nejznámější příklad je 0,1. V desítkové soustavě je to jedna desetina, úhledné konečné číslo. Ve dvojkové je jmenovatel 10 = 2·5, jenže základ 2 tu pětku neobsahuje - a 0,1 se stává periodickým číslem, které nekonečně opakuje 0011. Proto počítač neumí uložit desetinu přesně a proto 0.1 + 0.2 nevyjde přesně 0.3. Převodník výše na takový případ upozorní, místo aby zaokrouhlený výsledek vydával za hodnotu.
Na co si dát pozor
Zbytky se čtou zdola nahoru, ne shora dolů. Číslice A až F mají hodnoty
10 až 15, ne 11 až 16. V zápisu nesmí být číslice, která je větší nebo
rovna základu - 182 není osmičkové číslo, protože osmička
v osmičkové soustavě neexistuje. A prefixy z programování
(0x pro šestnáctkovou, 0b pro dvojkovou)
k číslu nepatří, jsou jen značka; převodník výše je sní, ale v sešitě je
nechte být.
Slovensky
Číselné sústavy, dvojková sústava, šestnástková sústava, desiatková sústava, osmičková sústava, základ sústavy, zvyšok po delení. Počítá se stejně.
Kde si o tom přečíst víc
Téma podrobněji rozebírá článek Převody soustav.