System szesnastkowy (inaczej heksadecymalny) jest szeroko używany w informatyce. Jego podstawą jest liczba 16 czyli do budowy liczb wykorzystujemy szesnaście cyfr. Pierwszych dziesięć jest takich samych jak w systemie dziesiętnym. Cyfra dziesięć to litera A, cyfra 11 to litera B, itd. :
$$0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F$$Dodatkową własnością jest to, że każdą cyfrę w tym systemie możemy przedstawić za pomocą dokładnie czterech cyfry zero-jedynkowych ponieważ:
$$16 = 2^4$$
Dlatego komputery nie muszą używać dodatkowych koderów/dekoderów do ich konwersji na dwójkowy i odwrotnie. Gdyby informacje były przedstawiane w systemie dwójkowym, zapis ten byłby bardzo nieczytelny i długi, dlatego w wielu sytuacjach wykorzystuje się w tym celu system szesnastkowy:
Algorytm zamiany na dziesiętny jest analogiczny jak w przypadku zamiany innych systemów liczbowych na system dziesiętny.
Dla przykładu zamieńmy liczbę (A3F2)HEX. Podstawą jest liczba $$16$$, a więc przemnażamy kolejne cyfry przez kolejne potęgi liczby $$16$$ począwszy od prawej strony:
$$(A3F2)_{HEX}=A\cdot 16^3+3\cdot 16^2+F\cdot 16^1+2\cdot 16^0=$$
$$10\cdot 4096+3\cdot 256+15\cdot 16+2\cdot 1=41970$$
Do zamiany na dziesiętny wykorzystujemy algorytm: Schemat Hornera.
Tu postępujemy tak samo jak w przypadku zamiany dziesiętnego systemu na inne, czyli wykonujemy operację dzielenia całkowitego przez $$16$$ i reszty z dzielenia przez $$16$$. W lewej kolumnie zapisujemy kolejne wyniki z dzielenia przez $$16$$, natomiast w prawej reszty z dzielenia. Pamiętajmy, że wynik spisujemy z prawej kolumny od tyłu.
Ostatecznie mamy: $$41970=(A3F2)_{HEX}$$
Każda cyfra systemu heksadecymalnego jest reprezentowana przy użyciu czterech bitów (zer lub jedynek). Poniżej pokazane jest przyporządkowanie cyfr:
A więc zamieniamy kolejne czwórki bitów (od prawej) na cyfry w systemie szesnastkowym. Dla przykładu zamieńmy liczbę:
$$(100\ 1010\ 0000\ 1101\ 0011)_2=(4A0D3)_{HEX}$$
Tu postępujemy podobnie jak w powyższym podpunkcie. Każdą cyfrę systemu szesnastkowego zamieniamy na cztery bity systemu dwójkowego:
$$(27F9)_{HEX}=(10\ 0111\ 1111\ 1001)_2$$
Cyfry wiodące opuszczamy.