fundamental.cz
ZÁKLADNÍ POJMYVĚTY A POUČKYZAJÍMAVOSTIÚLOHYNÁSTROJEZÁKLADNÍ ŠKOLANĚCO KE ČTENÍ

Poziční číselné soustavy

Poznámka: všechna čísla, o kterých budeme mluvit, jsou přirozená. U čísel bude dolním indexem (v desítkové soustavě) v závorce uvedeno, v jaké číselné soustavě je zapsáno, například 17(8) značí zápis v osmičkové soustavě. Pokud nebude u čísla udána číselná soustava, pak je číslo zapsáno v desítkové soustavě.

Budeme se zde bavit o tzv. pozičních číselných soustavách (příkladem nepoziční soustavy jsou římské číslice). V poziční soustavě určuje význam dané číslice její hodnota a její (absolutní) pozice v zápisu čísla. Číslo a zapíšeme jako posloupnost číslic an...a1a0, tedy zápis má n + 1 číslic. Tento zápis čísla a v číselné soustavě o základu z má následující význam:

a(z) = an * zn + ... + a1 * z1 + a0 * z0   (1)

Číslice jsou vlastně v dané číselné soustavě (všechny možné) zbytky po dělení čísel základem číselné soustavy. Pokud označíme základ číselné soustavy z, pak je počet číslic (možných zbytků po dělení) v dané soustavě roven z a největší číslice resp. největší zbytek je roven z-1.

Například všechny možné zbytky po dělení deseti jsou 0,1,2,3,4,5,6,7,8,9. Tedy počet možných zbytků je deset a největší zbytek je o 1 menší než deset. Při dělení čísly většími než deset se budou vyskytovat víceciferné zbytky, takovým se přiřadí nové symboly. Například při dělení šestnácti je šestnáct možných zbytků 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15. Dvouciferným zbytkům 10,11,12,13,14,15 se po řadě přiřadí symboly A,B,C,D,E,F. V šestnáctkové soustavě se tak vyskytuje šestnáct cifer 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Každá číslice (nebo skupina číslic) je symbolem zastupujícím nějaké číslo v dané číselné soustavě. K přiřazení konkrétního čísla k danému zápisu čísla je potřeba udat, v jaké číselné soustavě je číslo zapsáno. Bez tohoto údaje nemá zápis čísla smysl, protože mu nelze přiřadit hodnotu. Číselnou soustavu není potřeba uvádět, pokud je zřejmé, jaká soustava je použita. Například na otázku, co znamená zápis "12 metrů", bez zaváhání odpovíme "dvanáct metrů", protože všichni běžně užíváme desítkovou soustavu. Zde je dobré si uvědomit, že "12" je symbol vyjadřující nějaké číslo a jaké to číslo je, záleží na číselné soustavě, v jaké je zapsáno. Naopak symbol "dvanáct" znamená konkrétní číslo, aniž by bylo potřeba cokoliv dalšího dodávat (ovšem v naší kultuře slovní symboly pro čísla vycházejí z desítkové soustavy). Jinak řečeno číslo zůstane stejným číslem, ať už ho zapíšeme v jakékoliv soustavě. Snad to bude zřejmé z následujícího:

"dvanáct" = 1100(2) ve dvojkové soustavě

"dvanáct" = 14(8) v osmičkové soustavě

"dvanáct" = 12(10) v desítkové soustavě

"dvanáct" = C(16) v šestnáctkové soustavě

Ještě bych rád upozornil na význačné postavení symbolu "10" ve všech číselných soustavách.1 V každé soustavě je totiž "10" rovno základu dané soustavy. Například ve dvojkové soustavě platí 10(2) = "dvě", v osmičkové soustavě 10(8) = "osm", v desítkové 10(10) = "deset", v šestnáctkové 10(16) = "šestnáct". Násobení (resp. dělení) těmito čísly (základy soustavy) v dané soustavě má stejný efekt jako v desítkové soustavě, tedy "posun desetinné čárky doprava" ("přibývání nul zprava") při násobení (resp. "posun desetinné čárky doleva" při dělení).

Této vlastnosti se využívá při převodu zápisu čísla v desítkové soustavě do jiných soustav. Když tedy například chceme převést číslo a(10) zapsané v desítkové soustavě do soustavy o základu z, v prvním kroku vydělíme (celočíselně - tedy se zbytkem) číslo a(10) základem z(10) a v dalších krocích už základem z(10) dělíme výsledek dělení z předešlého kroku. V dělení pokračujeme dokud výsledkem dělení nebude 0. V každém kroku si zaznamenáme zbytek po dělení. Tyto zbytky jsou - v pořadí od nejnižšího řádu k nejvyššímu - číslicemi čísla a(z) zapsaného v soustavě o základu z. Pro ilustraci uvedeme příklad:


Chceme převést číslo 77(10) z desítkové soustavy do soustavy dvojkové. Máme tedy (v souladu s použitým označením) z(10) = 2(10), a(10) = 77(10), a(z) = ?. Postupné dělení:

77 / 2 = 38 + 1

38 / 2 = 19 + 0

19 / 2 = 9 + 1

9 / 2 = 4 + 1

4 / 2 = 2 + 0

2 / 2 = 1 + 0

1 / 2 = 0 + 1

Zápis čísla ve dvojkové soustavě bude tvořit posloupnost zbytků a tedy 77(10) = 1001101(2). Pro lepší pochopení, proč nebo jak uvedený postup funguje, může pomoci, když si dělení zapíšeme znovu do dvou sloupců. V levém sloupci bude zápis v desítkové soustavě, který jsme už viděli a v pravém sloupci bude zápis toho samého ve dvojkové soustavě:

77 / 2 = 38 + 1 1001101 / 10 = 100110 + 1

38 / 2 = 19 + 0 100110 / 10 = 10011 + 0

19 / 2 = 9 + 1 10011 / 10 = 1001 + 1

9 / 2 = 4 + 1 1001 / 10 = 100 + 1

4 / 2 = 2 + 0 100 / 10 = 10 + 0

2 / 2 = 1 + 0 10 / 10 = 1 + 0

1 / 2 = 0 + 1 1 / 10 = 0 + 1

Všimneme si, že ve dvojkové soustavě celočíselným dělením daného čísla dvěmi dochází k oddělení poslední číslice, jejíž hodnota je také zbytkem po dělení2. Uvedeným postupným dělením tedy v podobě zbytků získáme číslice daného čísla ve dvojkové soustavě. Když si ještě uvědomíme, že jakákoliv aritmetická operace zapsaná v dané číselné soustavě je ekvivalentní zápisu v libovolné jiné soustavě3, bude nám zřejmé, že zbytky získané dělením dvěmi v desítkové soustavě jsou hledané číslice4 binárního čísla.


Pro převod zápisu čísla v libovolné soustavě do soustavy desítkové se využívá vztahu (1). Pro převod čísel mezi soustavami o různých základech můžete využít online převodní kalkulačku.

1 Naopak číslo deset nemá v ostatních číselných soustavách žádné význačné postavení ani speciální zápis. Například 10 = 1010(2), 10 = 12(8), 10 = A(16).

2 Obecně v každé číselné soustavě platí, že celočíselným dělením daného čísla základem soustavy (zápis "10") dojde k "odtržení" poslední číslice, jejíž hodnota je zároveň zbytkem po dělení. Toto tvrzení můžeme snadno dokázat. Vyjdeme ze vztahu (1):
a(z)/z(z) = an * z(z)n-1 + ... + a1 * z(z)0 + a0/z(z).
Protože poslední člen je roven nule (a0 < z(z) a při celočíselném dělení platí a/b = 0 pokud a < b) dostáváme:
a'(z) = an * z(z)n-1 + ... + a1.

3 Aritmetická operace zapsaná v dané číselné soustavě je symbolickým zápisem početní operace s čísly. Například výsledkem aritmetické operace "dva krát tři" je "šest". V desítkové soustavě zapíšeme 2 * 3 = 6. Pro zápis v libovolné jiné soustavě čísla vystupující v uvedené rovnosti nahradíme čísly zapsanými v požadované soustavě. Platnost rovnosti se tím nezmění. V každé soustavě jen pokaždé jiným způsobem zapíšeme fakt, že "dva krát tři je šest".

4 Číslice jsou ovšem zapsané v desítkové soustavě, jsou ale rovny číslicím dvojkové soustavy. Pro všechny soustavy o základu menším než 10 platí, že symboly všech jejich číslic jsou podmnožinou symbolů všech číslic desítkové soustavy a každé dva stejné symboly (po jednom z každé soustavy) představují stejné číslo.