S šesnáctkovou (hexadecimálníú soustavou se setkáváme častěji než s dvojkovou. Pro člověka je zápis v binární soustavě dlouhý a nečitelný, proto se převádí právě do hexadecimální soustavy. I když je potřeba říct, že pořítače stále pracují s binární soustavou, jelikož je konstrukčně nejvýhodnější. [1]
V případě šestnáctkové soustavy máme k dispozici 16 znaků. Stejně jako v případě desítkové soustavy se jedná o cifry od 0 do 9. Jelikož by byl zápis dvoucifernou kombinací (10, 11, …) nejednoznačný, nahrazují se tato čísla prvními šesti písmeny. Hexadecimální čísla se tedy zapisují kombinací čísel a písmen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Níže jsou uvedeny matematické postupy pro převod mezi jednotlivými soustavami.
Obdobně jako v případě dvojkové soustavy využíváme matematického vztahu uvedeném níže. Tentokrát je však základ 16.
$$ Číslo = a_{m-1}Z^{m-1}\dotso a_1Z^1+a_0Z^0+a_{-1}Z^{-1}+a_{-2}Z^{-2}\dotso+a_{-n}Z^{-n}=\displaystyle\sum_{i=-n}^{m-1}a_iZ^i $$
Pokud bychom tedy převáděli číslo: $(A2F3)_{16}$ do dekadické soustavy, vypadal by postup následovně:
$(A2F3){16} = A\cdot16^{3}+2\cdot16^{2}+F\cdot16^{1}+3\cdot16^{0}= 10\cdot16^{3}+2\cdot16^{2}+15\cdot16^{1}+3\cdot16^{0} = 10\cdot4096+2\cdot256+15\cdot16+3\cdot1 = 40960+512+240+3 = (41715){10}$
Pro převod z desítkové do hexadecimální soustavy je možné využít stejný postup jako u každé poziční číselné soustavy, tedy postupné dělení základem a sepisováním zbytku.
Převod si ukážeme na čísle $(41715)_{10}$
$41715/16 = 2607 (zbytek: \textbf{3} ); \quad 2607/16 = 162(zbytek: \textbf{15});\quad 167/16 = 10(zbytek: \textbf{2});\quad 10/16 = 0(zbytek: \textbf{10});$
Pokud si zapíšeme zbytky v pořadí od posledního k prvnímu a přepíšeme číselné zbytky odpovídajícími symboly dostáváme hexadecimální reprezentaci desítkového čísla:
$(41715){10} \to (A2F3){2}$
Tento způsob je sice matematicky správně, ale dělení 16 je rozhodně komplikovanější než dělení 2. Pro převod je možné využít “okliku” nejprve si desítkové číslo převést do binární soustavy a poté z binární do hexadecimální.
Při převodu z binární do hexadecimální soustavy je možné vužít fakt že 16 je moncina čísla 2 ($2^{16}$). Binární číslo je možné rozdělit na tzv. nibbly (jedna polovina Bytu). Každý nibbl pak lze jednoduše převést na hexadecimální číslo podle tabulky níže. [1]
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Pokud bychom tedy převáděli binární číslo $(11011011011011)_{2}$ rozdělili bychom toto číslo odzadu na čtveřice bitů a podle tabulky převedli.