Dziesiętny na szesnastkowy i odwrotnie

Dziesiętny na szesnastkowy i odwrotnie
13 Jun 2013

Aby zamienić liczbę z systemu szesnastkowego (hexadecymalnego) na dziesiętny (decymalny) i odwrotnie, należy najpierw przypomnieć sobie jak są tworzone liczby w tych systemach – jaka liczba jest ich podstawą.

Podstawą w systemie szesnastkowym jest liczba 16 a w systemie dziesiętnym liczba 10.

[text_divider margin_top=0 margin_bottom=0 font_size=20 font_weight=normal color=#1451D9] Zamiana z szesnastkowego  na dziesiętny [/text_divider]

Aby zamienić liczbę zapisaną  w systemie szesnastkowym na liczbę w systemie dziesiętnym należy skorzystać ze wzoru:

hextodec

Najlepszy będzie przykład, więc załóżmy, że chcemy zamienić liczbę 9a0b na liczbę w systemie dziesiętnym.

Wykorzystujemy powyższy wzór i podstawiamy w miejsce x’ów kolejne znaki. Zamiast n – potęgę – wstawiamy kolejną potęgę liczby od prawej strony ( zaczynając od zera).

W tym przykładzie od 0 do 4. Powinno to wyglądać tak:

hextodec2

Należy to teraz obliczyć, może to wydawać się skomplikowane, jednak w rzeczywistości jest to bardzo proste. Kilka kolejnych potęg liczby 16 to: 1, 16, 256, 4096, 65536, itd. Dalej są zbyt duże liczby, więc do obliczeń przyda się kalkulator.

Obliczamy kolejne potęgi i podstawiamy do naszego działania. Po obliczeniach mamy:

hextodec3

Usuńmy jeszcze niepotrzebne zera z działania:

hextodec4

Jest już trochę mniej do liczenia, jednak wciąż zostają nam literki, których nie chcemy liczyć. Zamieniamy zatem litery na liczby zgodnie z zapisem szesnastkowym, czyli kolejno:

0 – 0, 1 – 1, 2 – 2, 3 – 3, … , 8 – 8, 9 – 9, A – 10, B – 11, C – 12, D – 13, E – 14, F – 15 – łącznie 16 znaków

Po zamianie otrzymujemy:

hextodec5

Teraz obliczamy, czyli: 36864 + 2560 + 11 = 39435

I gotowe

[text_divider margin_top=0 margin_bottom=0 font_size=20 font_weight=normal color=#1451D9] Zamiana z szesnastkowego  na dziesiętny [/text_divider]

W drugą stronę jest to bardziej skomplikowane niż w systemie dwójkowym. Przydadzą się nam teraz kolejne potęgi liczby 16, które wcześniej zapisaliśmy, czyli: 1, 16, 256, 4096, 65536. 

Teraz ważne jest to, jaką liczbę będziemy zamieniać. Weźmy tą z poprzedniego przykładu – 39435

Wybieramy sobie największą z potęg liczby 16, które mogą być blisko. 16 do 4 to 65536, a to więcej niż 39435, więc bierzemy niższą. 16 do 3 będzie odpowiednie ( 4096 ).

 

Kolejnym krokiem będzie dzielenie, podobnie jak w zapisie binarnym. Bierzemy tą naszą liczbę i dzielimy przez potęgę, czyli

39435 : 4096

zapisujemy wynik ( 9 ), oraz resztę z dzielenia ( 2571 ).

Następnie bierzemy resztę i dzielimy ja przez niższą potęgę, czyli 256:

2571 : 256

Zapisujemy wynik (10) oraz resztę (11). Powtarzamy, do potęgi 0. Całość wygląda tak:

hextodec6

Po obliczeniach odczytujemy wyniki od góry do dołu, czyli 9, 10, 0, 11.

Zamieniamy liczby na ich szesnastkowe odpowiedniki i otrzymujemy wynik końcowy: 9a0b. I gotowe