Szesnastkowy system liczbowy (znany jako hex) - pozycyjny system liczbowy, w którym podstawą pozycji są kolejne potęgi liczby 16. Nazwa hex pochodzi od od słowa stworzonego przez naukowców pracujacych w USA dla IBM: hexadecimal. Do zapisu liczb potrzebne jest szesnaście znaków. Poza cyframi dziesiętnymi od 0 do 9 używa się pierwszych sześciu liter alfabetu łacińskiego: A, B, C, D, E, F.
Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciągi znaków, z których każdy jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu, np. liczba zapisana w dziesiętnym systemie liczbowym jako 1000, w hex przybiera postać 3E8, gdyż:
3×162 + 14×161 + 8×160 = 768 + 224 + 8 = 1000.
Hex jest powszechnie używany w informatyce, ponieważ wartość pojedynczego bajtu można opisać używając tylko dwóch cyfr szesnastkowych. W ten sposób można kolejne bajty łatwo przedstawić w postaci ciągu liczb hex. Jednocześnie zapis 4 bitów można łatwo przełożyć na jedną cyfrę hex. Przykładowy ciąg liczb w czterech systemach liczbowych przedstawiono w Tabeli 1.
W matematyce liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym zapisanym w systemie dziesiętnym, a oznaczającym podstawę pozycji danego systemu. W celu podkreślenia, że liczba jest dziesiętna, można również napisać obok niej indeks, np. 1016 = 1610. Konwencja ta nie jest używana w informatyce. W różnych językach programowania zapis hexa wygląda inaczej:
Pascal - stosuje się prefiks $, np. $102f
niektóre wersje asemblera - za liczbą litera h, np 102fh, lub podobnie jak w C prefix 0x
[edytuj] Informatyka
W praktyce najczęściej stosuje się szesnastkowy system liczbowy w informatyce.
Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą się przez 8 i 16, często stosowany jest system heksadecymalny. Sprawdza się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy parametrów itp. Dla przykładu:
216 = 65.536dec = 1.0000hex
224 = 16.777.216dec = 100.0000hex
232 = 4.294.967.296dec = 1.0000.0000hex
216-1 = 65.535dec = FFFFhex
224-1 = 16.777.215dec = FF.FFFFhex
232-1 = 4.294.967.295dec = FFFF.FFFFhex
FFFFhex, FF.FFFFhex i FFFF.FFFFhex są krótsze i łatwiejsze do zapamiętania.