Szesnastkowy system liczbowy
Z Wikipedii
0hex | = | 0dec | = | 0oct | 0 | 0 | 0 | 0 | |||
1hex | = | 1dec | = | 1oct | 0 | 0 | 0 | 1 | |||
2hex | = | 2dec | = | 2oct | 0 | 0 | 1 | 0 | |||
3hex | = | 3dec | = | 3oct | 0 | 0 | 1 | 1 | |||
4hex | = | 4dec | = | 4oct | 0 | 1 | 0 | 0 | |||
5hex | = | 5dec | = | 5oct | 0 | 1 | 0 | 1 | |||
6hex | = | 6dec | = | 6oct | 0 | 1 | 1 | 0 | |||
7hex | = | 7dec | = | 7oct | 0 | 1 | 1 | 1 | |||
8hex | = | 8dec | = | 10oct | 1 | 0 | 0 | 0 | |||
9hex | = | 9dec | = | 11oct | 1 | 0 | 0 | 1 | |||
Ahex | = | 10dec | = | 12oct | 1 | 0 | 1 | 0 | |||
Bhex | = | 11dec | = | 13oct | 1 | 0 | 1 | 1 | |||
Chex | = | 12dec | = | 14oct | 1 | 1 | 0 | 0 | |||
Dhex | = | 13dec | = | 15oct | 1 | 1 | 0 | 1 | |||
Ehex | = | 14dec | = | 16oct | 1 | 1 | 1 | 0 | |||
Fhex | = | 15dec | = | 17oct | 1 | 1 | 1 | 1 | |||
Szesnastkowy system liczbowy – pozycyjny system liczbowy, w którym podstawą pozycji są kolejne potęgi liczby 16. Często system szesnastkowy jest określany nazwą Hex od słowa stworzonego przez firmę 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:
- C, C++, C#, Java - stosuje się prefiks 0x (zero oraz x) np. 0x102f, a w ciągach tekstowych \x, np. "\x2f"
- Pascal - stosuje się prefiks $, np. $102f
- niektóre wersje Asemblera - za liczbą litera h, np 102fh, lub podobnie jak w C prefix 0x
- HTML - kolory RGB (Red - Czerwony, Green - Zielony, Blue - Niebieski) zapisuje się jako 3 liczby hex od 0 do FF(255) poprzedzone znakiem #, np. różowy - #FF8080, szary - #808080, czarny - #000000. Zapis ten dotyczy koloru 24-bitowego przypisywanego różnym elementom graficznym dokumentu HTML.
[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.
[edytuj] Zobacz też
- system liczbowy
- stosowane w np. informatyce:
- matematyka
- pozycyjny system liczbowy