System szesnastkowy
System szesnastkowy (zwany też hexadecymalnym) jest pozycjonalnym systemem liczbowym o podstawie 16. W jego zapisie używa się cyfr od 0 do 9 oraz liter A–F, które odpowiadają wartościom 10–15. System ten jest szczególnie popularny w informatyce i elektronice, gdzie służy m.in. do przedstawiania adresów pamięci, kodów znaków oraz wartości kolorów.
Historia
Pierwsze wzmianki o systemie szesnastkowym pojawiły się w latach 1954 w kontekście wczesnych komputerów, które operowały na słowach o długości 4 bity (nibblach). W praktyce przyczyniło się do tego rozwój mikroprocesorów oraz języków programowania, które wykorzystywały krótkie reprezentacje binarnych danych.
Budowa i zapis
W systemie szesnastkowym każdy znak ma wagę równą potędze liczby 16:
… d₃·16³ + d₂·16² + d₁·16¹ + d₀·16⁰
gdzie dₙ jest jedną z cyfr 0–9 lub liter A–F. Przykładowo liczba 2B3₁₆ oznacza:
2·16² + 11·16¹ + 3·16⁰ = 512 + 176 + 3 = 691₁₀
Konwersje między systemami
Najczęściej zachodzi potrzeba przeliczania liczb między systemem szesnastkowym a:
- systemem binarnym – jeden znak szesnastkowy odpowiada dokładnie czterem bitom (np.
F=1111₂); - systemem dziesiętnym – wymaga dzielenia i mnożenia przez 16;
- systemem ósemkowym – przeliczanie odbywa się zwykle przez pośrednie przedstawienie w systemie binarnym.
Przykładowe zastosowania
System szesnastkowy znajduje liczne zastosowanie w dziedzinach technicznych i programistycznych:
- Reprezentacja adresów pamięci w komputerze (np.
0x7FF0A3B2); - Kodowanie znaków w zestawie ASCII i Unicode (np. znak
'A'ma kod0x41); - Definicja kolorów w grafice komputerowej – popularny format
#RRGGBB(np.#FF0000= czysty czerwony); - Wprowadzanie stałych liczbowych w wielu językach programowania (
0x1A3Fw C,0xFFw Pythonie); - Debugowanie i analizowanie zrzutów pamięci przy pomocy narzędzi typu debugger.
Zalety i wady
| Zalety | Wady |
|---|---|
| Kompaktowa zapis liczby binarnej – 4 bity = 1 cyfra szesnastkowa. | Trudniejszy odczyt dla osób nieprzyzwyczajonych do liter A–F. |
| Łatwe konwertowanie na i z systemu binarnego. | Nieintuicyjny w kontekście codziennych obliczeń arytmetycznych. |
Przykład konwersji z systemu binarnego
Konwersję binarnej liczby 11010111₂ na szesnastkową można wykonać w trzech krokach:
- Podziel liczbę na grupy po 4 bity od prawej strony:
1101 0111; - Przekształć każdą grupę na odpowiadającą jej cyfrę szesnastkową:
1101₂=D₁₆;0111₂=7₁₆;
- Zapisz wynik:
0xD7.
Podobne systemy
Do systemu szesnastkowego najbliższe są:
- system ósemkowy (podstawa 8), używany m.in. w tradycyjnych systemach operacyjnych;
- system binarny (podstawa 2), będący podstawą wszystkich operacji na poziomie sprzętowym.
W literaturze i edukacji
W podręcznikach informatyki i kursach programowania system szesnastkowy jest omawiany już na poziomie szkoły średniej oraz w studiach inżynierskich, np. w publikacjach Donald Knuth – Art of Computer Programming.
Linki wewnętrzne
Przeczytaj także: