Potrafisz już wykonać konwersję liczby z oraz do systemu dziesiętnego. W tym materiale wykorzystamy te umiejętności podczas konwertowania liczby zapisanej w systemie szesnastkowymsystem szesnastkowysystemie szesnastkowym na binarnysystem binarnybinarny.

I sposób konwersji hex → bin

Pierwsza metoda zapisywania liczb szesnastkowych w postaci binarnej wymaga wykonania dwóch czynności:

  1. przekształcenia liczby zapisanej w systemie szesnastkowym do postaci dziesiętnej;

  2. przekształcenia otrzymanej liczby dziesiętnej do postaci w systemie dwójkowym.

()(16)()(10)()(2)

W szesnastkowym systemie zapisu liczb wykorzystywanych jest 16 znaków. W przypadku niektórych symboli podajemy w nawiasach odpowiadające im wartości dziesiętne: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11), C (12), D (13), E (14), F (15).

Aby przeprowadzić pierwszy etap konwersji należy obliczyć wartość dziesiętną liczby zapisanej w systemie szesnastkowym. W tym celu:

  • poszczególne znaki składające się na liczbę mnożymy przez ich wagi (czyli potęgi liczby 16 odpowiadające pozycji znaku);

  • dodajemy do siebie otrzymane iloczyny.

Przykład 1

Zamienimy liczbę 12BIndeks dolny (16) na jej odpowiednik w systemie dziesiętnym.

12B   =   ( ( 1 ) 16 + 2 ) 16 + 11   =   299

Wykorzystując schemat Hornera, otrzymaliśmy liczbę w systemie dziesiętnym. Teraz wystarczy zapisać ją w postaci dwójkowej.

Przedstawimy jeden ze sposobów dokonania takiej konwersji, nadający się do przekształcania części całkowitej liczby. Inne metody (znajdujące także zastosowanie w przypadku części ułamkowej) zostały omówione w poprzednich e‑materiałach.

Aby zapisać liczbę dziesiętną w postaci binarnej, należy podzielić ją przez dwa i zapamiętać otrzymaną w wyniku działania resztę. Obliczony iloraz ponownie trzeba podzielić przez dwa (i zapamiętać kolejną resztę).  Czynności takie wykonuje się aż do momentu, w którym obliczony iloraz wyniesie 0. Uzyskane reszty z dzielenia, zapisane od ostatniej do pierwszej, utworzą zapis liczby w systemie dwójkowym.

Przykład 2

Zamienimy liczbę 299 na jej odpowiednik w systemie dwójkowym.

REUfUiKdwNHEP
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

W ten właśnie sposób przekształciliśmy liczbę szesnastkową do postaci binarnej:

12B(16)=299(10)=100101011(2)

II sposób konwersji hex → bin (optymalny)

Każdy znak wykorzystywany w systemie szesnastkowym można przedstawić za pomocą czterech bitów. Oto tabela opisująca wszystkie symbole systemu szesnastkowego wraz z odpowiadającymi im liczbami dwójkowymi:

Znak w systemie szesnastkowym

Wartość w systemie dwójkowym

0Indeks dolny (16)

0000Indeks dolny (2)

1Indeks dolny (16)

0001Indeks dolny (2)

2Indeks dolny (16)

0010Indeks dolny (2)

3Indeks dolny (16)

0011Indeks dolny (2)

4Indeks dolny (16)

0100Indeks dolny (2)

5Indeks dolny (16)

0101Indeks dolny (2)

6Indeks dolny (16)

0110Indeks dolny (2)

7Indeks dolny (16)

0111Indeks dolny (2)

8Indeks dolny (16)

1000Indeks dolny (2)

9Indeks dolny (16)

1001Indeks dolny (2)

AIndeks dolny (16)

1010Indeks dolny (2)

BIndeks dolny (16)

1011Indeks dolny (2)

CIndeks dolny (16)

1100Indeks dolny (2)

DIndeks dolny (16)

1101Indeks dolny (2)

EIndeks dolny (16)

1110Indeks dolny (2)

FIndeks dolny (16)

1111Indeks dolny (2)

Jak wiemy, każda cyfra szesnastkowa odpowiada wartościom dziesiętnym z zakresu od 0 do 15. Możemy te wartości zapisać także na czterech pozycjach liczby w systemie binarnym.

Podstawa „16” oraz podstawa „2” są tzw. bazami skojarzonymibazy skojarzonebazami skojarzonymi. Oznacza to, że jedną z  baz można zapisać jako potęgę drugiej:

24=16

Wykładnik przedstawiający zależność między bazami skojarzonymi wskazuje równocześnie, na ilu pozycjach jednego systemu należy zapisać symbole systemu drugiego.

Drugi sposób konwersji liczby szesnastkowej do postaci binarnej polega zatem na zastąpieniu poszczególnych symboli szesnastkowych odpowiadającymi im 4‑bitowymi blokami. Łącząc poszczególne bloki w całość, otrzymamy liczbę w systemie dwójkowym. Przedstawiona metoda nadaje się także do przekształcania ułamkowej części liczby.

W kolejnej sekcji zastosujemy ten właśnie algorytm.

Słownik

bazy skojarzone
bazy skojarzone

podstawy systemów liczbowych, w przypadku których baza jednego systemu jest potęgą bazy systemu drugiego

system pozycyjny
system pozycyjny

system, w którym znaczenie ma pozycja zapisywanych cyfr, każdej z nich odpowiada waga zależna od miejsca zajmowanego przez cyfrę i od podstawy systemu

system binarny
system binarny

system, którego podstawą jest liczba 2, liczbę w tym systemie zapisujemy za pomocą dwóch bitów – 0 i 1

system szesnastkowy
system szesnastkowy

system, którego podstawą jest liczba 16, liczbę w tym systemie zapisujemy za pomocą szesnastu znaków 0 – 9 oraz A – F