System szesnastkowy (heksadecymalny)
Hexadecimal w skrócie hex jest szesnastkowym system liczbowym, najczęściej stosowany do uproszczonego zapisu długich liczb binarnych. Karty sieciowe swoje adresy MAC mają zapisane w postaci szesnastkowej. System ten wykorzystuje się również w informatyce do sterowania sprzętem.
Podstawę tego pozycyjnego systemu liczbowego , stanowi liczba 16. Do zapisu liczb potrzebnych będzie szesnaście znaków, pierwszych 10 to arabskie cyfry: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, pozostałe brakujące to litery alfabetu łacińskiego: A, B, C, D, E, F. Litery te odpowiadają następującym wartościom:
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
KONWERSJA LICZBY Z SYSTEMU DWÓJKOWEGO NA SYSTEM SZESNASTKOWY
System szesnastkowy – podobnie jak ósemkowy, skraca zapis danych binarnych. Każdy system liczbowy ma liczbę cyfr równą podstawie systemu. Podstawą tego systemu jest liczba 16 czyli 2 do potęgi 4 – ( 24), dla tego też jeden znak w systemie 16 będzie zastępował cztery znaki w systemie binarnym. Sprawdźmy to na przykładzie:
Zamieńmy liczbę 12 z systemu dziesiętnego na dwójkowy.
12:2 = 6 reszty 0
6:2 = 3 reszty 0
3:2 = 1 reszty 1
1:2 = 0 reszty 1
0
Liczba 12(10) = 1100(2)
Udowodniliśmy, że do zapisu potrzebujemy 4 znaków.
Aby dokonać zamiany liczby z systemu binarnego (2) na szesnastkowy (16), należy dokonać podziału liczby po cztery bity (4 znaki), pamiętając że zaczynamy od prawej strony! Jeżeli ostatnie cyfry w pogrupowanej liczbie mają mniej niż cztery znaki, musimy uzupełnić je zerami. Następnie zamieniamy każde otrzymane 4 cyfry systemu binarnego na odpowiadającą im jedną cyfrę systemu heksadecymalnego (szesnastkowego). Przy konwersji liczby szesnastkowej na postać binarną i odwrotnie radzę skorzystać z tabeli poniżej, dopóki nie opanujesz tej umiejętności.
Tabelka konwersji dwójkowo szesnastkowej |
|
cyfra |
wartość |
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
A |
1010 |
B |
1011 |
C |
1100 |
D |
1101 |
E |
1110 |
F |
1111 |
Przykłady:
1110101000101010111101010101 |
||||||
1110 |
1010 |
0010 |
1010 |
1111 |
0101 |
0101 |
E |
A |
2 |
A |
F |
5 |
5 |
1110101000101010111101010101(2) = EA2AF55(16)
10101 |
||||
0001 |
0101 |
|||
1 |
5 |
10101(2) = 15(16)
KONWERSJA LICZBY Z SYSTEMU SZESNASTKOWEGO NA SYSTEM DWÓJKOWY
Każdą cyfrę szesnastkową zastępujemy grupą 4 bitów wg tabelki konwersji. Grupy łączymy w całość otrzymując odpowiednik dwójkowy wyjściowej liczby szesnastkowej.
Przykład: 2C5(16)= ? (2)
SYSTEM SZESNASTKOWY | 2 | C | 5 |
SYSTEM BINARNY | 0010 | 1100 | 0101 |
2C5(16)= 0010 1100 0101 (2)
KONWERSJA LICZBY Z SYSTEMU SZESNASTKOWEGO NA SYSTEM DZIESIĘTNY.
Aby dokonać zamiany liczby szesnastkowej na dziesiętną, należy dodać kolejno wszystkie cyfry z każdej pozycji pomnożone przez podstawę systemu czyli liczbę 16. Numerację pozycji wag rozpoczynamy od prawej strony.
Wagi pozycji |
162 |
161 |
160 |
Cyfry zapisu |
2 |
F |
5 |
Numery pozycji |
2 |
1 |
0 |
2F5(16) = 5 * 160 +15 * 161+ 2 * 162 = 5+ 240+ 512 = 757(10)
Krotność wag systemu szesnastkowego:
Krotność wagi | Wynik |
160 | 1 |
161 | 16 |
162 | 256 |
163 | 4096 |
164 | 65536 |
… | … |
BARDZO PRZYDATNE INFORMACJE:) musisz opisać jeszcze system ósemkowy. Mam pytanie odnośnie przykładu, gdzie zamieniamy liczbę z systemu 16 na 10
2F5(16) = 5 * 16^0 +15 * 16^1+ 2 * 16^2 skąd wzięła się liczba 15 ?
Pozdrawiam i czekam na więcej
Witam
Cieszy mnie to iż przedstawiane informację są tak pożyteczne. Co do przykładu już tłumaczę:
2F5 – liczba którą musimy zamienić
Na samym początku artykułu pisałem:
Do zapisu liczb potrzebnych będzie szesnaście znaków, pierwszych 10 to arabskie cyfry: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, pozostałe brakujące to litery alfabetu łacińskiego: A, B, C, D, E, F. Litery te odpowiadają następującym wartościom:
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
W naszym przykładzie była litera F a jak widzimy odpowiada ona liczbie 15.
90A(16)=?(2)
100100001010(2)
872B5(16)= (2)
10000111001010110101(2)
3F9(16)=9*15^0+15*15^1+3*15^2=1017(10)
Dla czego używasz liczby 15 jako podstawy? W systemie hexadecymalnym podstawą jest liczba 16
Zmiana liczby szesnastkowej na dwójkową
395CFD(16)=?(2)
0011 1001 0101 1100 1111 1101(2)
Zmiana liczby szesnastkowej na dwójkową
45FA(16)=0100 0101 1111 1010(2)
11100111001(2) na (16) 0111|0011|1001(2) = 739(16)
F34(16)
111100110100
87654321 (16) = (2)
1000 0111 0110 0101 0100 0011 0010 0001
245(10) = ? (16)
245:16 r 5
15:16 r 15 = F
0
245(10) = F5(16)
4D1A72(16) = 0100 1101 0001 1010 0111 0010(2)
1F5 (16)=?(10)
1F5= 5*16^0+15*16^1+1*16^2= 5+240+64= 311(10)
1F5 (16)= 311(10)
poprawka :
1F5= 5*16^0+15*16^1+1*16^2= 5+240+256= 501(10)
69CD (16) = ? (2)
0110 1001 1100 1101
AF9D7(16)=10101111100111010111(2)
11110110(2)=F6(16)
A4B21(16)=?(2)
10100100101100100001(2)
Zamiana liczby 16tkowej na binarną:
FB29(16)=?(2)
F= 1111
B= 1011
2= 0010
9=1001
FB29=1111 1011 0010 1001 (2)
298(10)-?(16)
298:16 r10 A
18:16 r2 2
1:16 r1 1
0
298(10)=12A(16)
111110010000(2)=f90(16)
1111=F
1001=9
0000=0
B4C7(16) = ?(2)
B4C7(16) = 1011010011000111(2)
B4C7(16) = ?(10)
B4C7(16) = 7 * 16^0 + 12 * 16^1 + 4 * 16^2 + 11 * 16^3(10)
B4C7(16) = 7 + 192 + 1024 + 45056(10)
B4C7(16) = 46279(10)
Zamiana Liczby (16) na (2)
1A3(16)=0011 1010 0001(2)
Zamiana Liczby (2) na (16)
100111100011(2)=?(16)
1001 1110 0011(2)=9E3
111011110101 (2) = EF5 (16)