W odróżnieniu od adresów IPv4, które zapisywane są w notacji kropkowo-dziesiętnej, adresy IPv6 zapisywane są przy użyciu liczb szesnastkowych. Widziałeś już wartości szesnastkowe w panelu Packet Byte programu Wireshark. W programie Wireshark wartości szesnastkowe użyte są do reprezentacji binarnych wartości w ramkach i pakietach. System zapisu szesnastkowego używany jest również do zapisu ethernetowego adresu MAC.

Numeracja szesnastkowa

System szesnastkowy ("Hex") jest wygodnym sposobem reprezentacji wartości binarnych. Tak jak w systemie dziesiętnym podstawą systemu liczenia jest liczba 10, w binarnym - liczba 2 to w szesnastkowym - liczba 16.

System szesnastkowy do zapisu liczb używa cyfr od 0 do 9 i liter od A do F. Rys. 1 przedstawia wartości liczb w zapisie dziesiętnym i odpowiadające im liczby w zapisie dwójkowym i szesnastkowym. Jest 16 unikalnych kombinacji czterech bitów od najmniejszej wartości binarnej 0000 do największej binarnej 1111. Przy zapisie adresów IPv6 preferowane jest użycie systemu szesnastkowego, gdyż cztery bity prezentowane są jako jedna liczba szesnastkowa.

Zrozumienie bajtów

Przyjęto, że 8 bitów (bajt) jest powszechnie stosowanym sposobem grupowania liczb binarnych. Binarne liczby od 00000000 do 11111111 mogą być reprezentowane przez szesnastkowe liczby z przedziału od 00 do FF. Wiodące zera mogą być dopisane do liczby binarnej aby dopełnić ją do 8 znaków/bitów (tzn. pełnego bajtu). Na przykład, binarna wartość 1010 dopełniana jest do 0000 1010 i zapisana szesnastkowo jako 0A.

Reprezentacja wartości szesnastkowych

UwagaWażne jest odróżnianie wartości szesnastkowych od wartości dziesiętnych przedstawionych przy pomocy znaków od 0 do 9.

W tekście wartości szesnastkowe są poprzedzane przez zapis 0x (np. 0x73) albo za liczbą szesnastkową podana jest liczba 16 w dolnym indeksie. Rzadziej stosowane jest użycie litery H na końcu liczby, np.73H. Jednakże, ponieważ indeks dolny nie jest rozpoznawany w linii poleceń lub środowiskach programowych, techniczna reprezentacja liczb szesnastkowych jest poprzedzana symbolem "0x" (zero X). Dlatego powyższe przykłady można przedstawić odpowiednio jako 0x0A i 0x73.

Zamiana liczb szesnastkowych

Istnieje możliwość bezpośredniej konwersji między systemem dziesiętnym i szesnastkowym, jednak szybkie dzielenie i mnożenie przez 16 nie jest zawsze wygodne.

W praktyce możliwe jest rozpoznanie wzorców bitów, które pasują do odpowiedniej wartości dziesiętnej i szesnastkowej. Rys. 2 przedstawia te wzory dla wybranych 8-mio bitowych wartości.