Převody soustav
Jak převádět čísla z desítkové soustavy do jiných soustav a naopak jak převádět čísla z jiných soustav do desítkové.
Co je to číselná soustava #
Běžně pracujeme s desítkovou soustavou. Tato soustava má deset číslic, 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9. Desítková soustava se vyznačuje tím, že když nějaké číslo, například 57, vynásobíme deseti, posuneme se o jeden řád – potřebujeme o jednu číslici více na popis tohoto čísla: 570.
Můžeme mít i jiné číselné soustavy, taková osmičková soustava by obsahovala pouze číslice 0, …, 7. Výraz 7 + 1 by tak byl roven číslu 10, protože v osmičkové soustavě nemáme číslici 8. Šestnáctková sosutava by měla číslice 0, 1, … 14, 15. Někdy místo číslic, které jsou větší než 9, používáme písmena, takže šestnáctková soustava by měla číslice 0, …9, A, B, C, D, E, F.
S jinými číselnými soustavami se překvapivě setkáváme i v běžném životě. Například čas – sekundy a minuty počítáme v šedesátkové soustavě. Každý okamžik dne můžeme zapsat jako číslo v šedesátkové soustavě o třech číslicích. První číslice udává hodiny, druhá minuty, třetí sekundy. Pokud zvolíme jako oddělovač číslic dvojtečku, máme například číslo 14:05:59. Všimněte si, že když k tomuto času přičteme jednu sekundu, nezískáme čas 14:05:60, ale získáme čas 14:06:00 – protože číslice 60 není platnou číslicí šedesátkové soustavy.
Převod z desítkové do dvojkové soustavy #
Nechť máme na papíře číslo 70. Toto číslo budeme nyní chtít převést do dvojkové, binární soustavy. Princip je poměrně jednoduchý, číslo, které chceme převést, dělíme neustále dvojkou, až dojdeme k nule, přičemž si zapisujeme zbytky po celočíselném dělení. Pokud chceme převést číslo do jiné soustavy, například do šestnáctkové, budeme dělit šestnáctkou. Pokud do šestkové, dělíme šestkou. Takže v praxi to bude vypadat takto:
Výsledné číslo ve dvojkové soustavě udávají zbytky po dělení. Nebereme ale zbytke zvrchu, ale od spodu. Takže číslo 70 v binární soustavě je 1000110.
Převod z dvojkové do desítkové soustavy #
Opačně bychom převodli takto. Mějme číslo 1100010 a převeďme ho do desítkové soustavy. Tento směr je jednodušší, stačí vypočítat tento součet:
Každý sčítanec má tvar x · 2i, kde x je číslice z původního binárního čísla a i se zprava postupně zvětšuje vždy o jedna. Takže porotože převádíme číslo 1100010, vypadá tento součet takto:
Číslo 1100010 má sedm číslic, takže mocniny u čísla dva budou postupně 6, 5, …, 1, 0. Po umocnění a vynásobení získáme výraz:
Proč tento postup funguje? #
Můžeme si to předvést na desítkové soustavě. Co ve skutečnosti znamenají číslice v čísle, například v čísle 7384? Číslice 4 udává počet jednotek, číslice 8 počet desítek, číslice 3 počet stovek a číslice 7 počet tisícovek. Takže můžeme napsat, že
Tento výraz můžeme ještě upravit tak, abychom nepoužívali čísla 100, 10 a 1, ale abychom tam vždy měli nějakou mocninu deseti. Protože platí 100 = 1 a 101 = 10 atd., tak můžeme napsat
Každé číslo v desítkové soustavě jsme schopni popsat stejným způsobem, přitom jednotlivé sčítance mají tvar x · 10i, kde x je číslice od 0 do 9, těchto číslic je deset. Hodnota i je pak nějaké kladné celé číslo, které udává řád. Pokud i = 0, pak sčítanec udává jednotky, pokud i = 2, pak udává stovky (protože 102 = 100).
Zkusme si teď převést číslo 7348 z desítkové soustavy do, eh…, desítkové soustavy. Bude to mít smysl. Číslo 7348 budeme dělit 10:
Pokud přečteme zbytky od spodu, máme číslo 7348 – zpět původní číslo, které jsme se snažili převést do … stejné soustavy.
Pokud chceme popsat dvojkovou soustavu, uděláme to úplně stejně – všechny sčítance budou ve tvaru x · 2i, kde x je číslice 0 nebo 1. Hodnota i opět udává řády. Stejně, jako postupné dělení desítou nám dá počty řádů v čísle v desítkové soustavě, tak postupné dělení dvěma nám dá počty řádů ve dvojkové soustavě.
Zároveň si všimněte, že když dělíme číslo deseti a ptáme se na zbytek, tak tento zbytek bude vždy v intervalu \(\left<0, 9\right>\). Pokud dělíme číslo dvěma, tak zbytek může být buď 0 nebo 1.
Převod do jiných soustav #
Předchozí postup na převod z desítkové do binární soustavy je natolik univerzální, že lze použít i na jiné soustavy. Pokud chceme převést číslo 185 do šestnáctkové soustavy, jen dělíme 16:
Číslo 185 by v 16 soustavě mělo tvar (11, 9). Místo „číslic“ nad 9 se obvykle používají písmena, takže 10 = A, 11 = B, 12 = C, … Můžeme tak napsat, že číslo 185 má v 16 soustavě tvar B9.
Podobně můžeme převést číslo B9 z 16 soustavy do desítkové.