Jak dokonać konwersji liczb z systemu binarnego na szesnastkowy i odwrotnie?

W programowaniu często potrzebujemy przeliczać liczby binarne na szesnastkowe i odwrotnie. Istnieje trik, dzięki któremu możemy bardzo przyspieszyć taką zamianę liczb w obie strony. Wystarczy zapamiętać tylko 15 kombinacji i będziemy mogli bez przeszkód zamieniać liczby.

  • Głowa na karku :)
1

Należy pamiętać, że dla każdej z cyfr z systemu szesnastkowego odnajdujemy jej binarny odpowiednik. Przedstawia się to następująco:

0 - 0000 8 - 1000
1 - 0001 9 - 1001
2 - 0010 A - 1010
3 - 0011 B - 1011
4 - 0100 C - 1100
5 - 0101 D - 1101
6 - 0110 E - 1110
7 - 0111 F - 1111


2

Weźmy teraz dla przykładu liczbę AB13Fh i zobaczmy, jak możemy ją przedstawić w postaci binarnej.
Podstawiamy kolejno liczby z naszej małej "ściągi":
A - 1010
B - 1011
1 - 0001
3 - 0011
F -1111


3

Podstawione liczny układamy w ciąg zaczynając od początkowej odpowiadającej w tym przypadku A:
10101011000100111111b


4

Konwersja w drugą stronę jest równie prosta. Załóżmy, że mamy liczbę w postaci binarnej:
11010100101010101b

Dzielimy ją na grupy po 4 bity zaczynając od prawej:
1|1010|1001|0101|0101

Jak widać, na początku została samotna jedynka. Dodajemy więc z przodu trzy zera.


5

Przypisujemy każdej grupie odpowiadającą jej cyfrę z tabeli powyżej:

0001 - 1
1010 - A
1001 - 9
0101 - 5
0101 - 5

Otrzymana cyfra po zamianie z systemu binarnego na szesnastkowy to:
1A955h


6

Uwagi i spostrzeżenia

  • Litera h na końcu liczby, np. 13h oznacza, że dana liczba została zapisana w systemie szesnastkowym.

  • Litera b na końcy liczby oznacza, że dana liczna została zapisana w systemie binarnym.



- W przypadku kiedy nasza liczba binarna nie podzieli się równo na grupy po 4 znaki - dodajemy z przodu tyle zer, aby w rezultacie otrzymać 4 znaki.


Przeczytaj teraz:

Galeria

zdjęcie
zdjęcie

Dodaj komentarz

  1. Zaloguj się:
  1. 18.10.2010

Komentarze