Jedną z głównych wad liczb binarnych jest to, że ciąg binarny odpowiednik dużego dziesiętnego base-10 liczba może być dość długi.
Przy pracy z dużych systemów cyfrowych, takich jak komputery, to jest wspólne, aby znaleźć liczby binarne składające się z 8, 16, a nawet 32 cyfr, co utrudnia zarówno do odczytu lub zapisu bez produkcji błędów, zwłaszcza gdy pracuje z partii 16 lub 32-bitowych binary numbers.
Jeden wspólny sposób na przezwyciężenie tego problemu jest zorganizować numery binarne w grupy lub zestawy czterech bitów (4-bity). Te grupy 4-bity wykorzystuje inny rodzaj systemu numeracji również powszechnie stosowane w komputerach i systemów cyfrowych zwanych Hexadecimal Numbers.
Hexadecimal Number String
The „Hexadecimal” lub po prostu „Hex” system numeracji wykorzystuje Base of 16 systemu i są popularnym wyborem do reprezentowania długich wartości binarnych, ponieważ ich format jest dość zwarty i znacznie łatwiejsze do zrozumienia w porównaniu do długich ciągów binarnych 1’s i 0’s.
Będąc systemem Base-16, szesnastkowy system numeracji używa zatem 16 (szesnastu) różnych cyfr z kombinacją liczb od 0 do 15. Innymi słowy, istnieje 16 możliwych symboli cyfr.
Jednakże istnieje potencjalny problem z używaniem tej metody zapisu cyfr spowodowany faktem, że cyfry dziesiętne 10, 11, 12, 13, 14 i 15 są zwykle zapisywane przy użyciu dwóch sąsiadujących symboli. Na przykład, jeśli piszemy 10 w systemie szesnastkowym, to czy mamy na myśli dziesiętną liczbę dziesięć, czy binarną liczbę dwa (1 + 0). Aby obejść ten trudny problem liczby szesnastkowe, które określają wartości dziesięć, jedenaście, . . . piętnaście są zastąpione dużymi literami A, B, C, D, E i F odpowiednio.
Wtedy w systemie numeracji szesnastkowej używamy liczb od 0 do 9 i duże litery od A do F do reprezentowania jego Binary lub dziesiętny odpowiednik liczby, począwszy od najmniej znaczącej cyfry po prawej stronie.
Jak właśnie powiedzieliśmy, ciągi binarne mogą być dość długie i trudne do odczytania, ale możemy ułatwić życie dzieląc te duże liczby binarne na równe grupy, aby były one znacznie łatwiejsze do zapisania i zrozumienia. Na przykład, następująca grupa cyfr binarnych 1101 0101 1100 11112 jest znacznie łatwiejsza do odczytania i zrozumienia niż 1101010101110011112, gdy wszystkie są zebrane razem.
W codziennym użyciu dziesiętnego systemu numeracji używamy grupy trzech cyfr lub 000 z prawej strony, aby bardzo duża liczba, taka jak milion lub bilion, łatwiejsze do zrozumienia i to samo jest również prawdziwe w systemach cyfrowych.
Hexadecimal Numbers jest bardziej złożony system niż przy użyciu tylko binarne lub dziesiętne i jest głównie używany, gdy do czynienia z komputerami i lokalizacji adresu pamięci. Dzieląc liczbę binarną na grupy 4 bitów, każda grupa lub zestaw 4 cyfr może teraz mieć możliwą wartość między „0000” (0) i „1111” ( 8+4+2+1 = 15 ) dając w sumie 16 różnych kombinacji liczbowych od 0 do 15. Nie zapomnij, że „0” jest również ważną cyfrą.
Pamiętamy z naszego pierwszego samouczka o liczbach binarnych, że 4-bitowa grupa cyfr jest nazywana „nibble”, a ponieważ 4-bity są również wymagane do wytworzenia liczby szesnastkowej, cyfra heksadecymalna może być również traktowana jako nibble lub pół-bajt. Następnie dwie cyfry szesnastkowe są wymagane do wyprodukowania jednego pełnego bajtu z zakresu od 00 do FF.
Ponadto, ponieważ 16 w systemie dziesiętnym jest czwartą potęgą 2 (lub 24), istnieje bezpośredni związek pomiędzy liczbami 2 i 16, więc jedna cyfra szesnastkowa ma wartość równą czterem cyfrom binarnym, więc teraz q jest równe „16”.
Z powodu tego związku, cztery cyfry w liczbie binarnej mogą być reprezentowane przez jedną cyfrę szesnastkową. To sprawia, że konwersja między liczb binarnych i szesnastkowych bardzo łatwe, a szesnastkowy może być używany do pisania dużych liczb binarnych z dużo mniej cyfr.
Liczby od 0 do 9 są nadal używane, jak w oryginalnym systemie dziesiętnym, ale liczby od 10 do 15 są teraz reprezentowane przez wielkie litery alfabetu od A do F włącznie, a związek między dziesiętnym, binarnym i szesnastkowym jest podana poniżej.
Liczby szesnastkowe
Liczba dziesiętna | 4- | |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
16 | 0001 0000 | 10 (1+0) |
17 | 0001 0001 | 11 (1+1) |
Kontynuując w górę w grupach po cztery |
Używając oryginalnej liczby binarnej z góry 1101 0101 1100 11112 to może być teraz przekształcony w równoważny numer szesnastkowy D5CF, który jest znacznie łatwiejszy do odczytania i zrozumienia niż długi rząd 1 i 0, które mieliśmy wcześniej.
Więc używając notacji szesnastkowej, liczby cyfrowe mogą być zapisywane przy użyciu mniejszej ilości cyfr i z dużo mniejszym prawdopodobieństwem wystąpienia błędu. Podobnie, konwersja szesnastkowy oparte numery z powrotem do binarnego jest po prostu odwrotna operacja.
Wtedy główne cechy systemu numeracji szesnastkowej jest to, że istnieje 16 odrębnych cyfr liczenia od 0 do F z każdej cyfry o wadze lub wartości 16 począwszy od najmniej znaczącego bitu (LSB). W celu odróżnienia liczb szesnastkowych od liczb Denary, prefiks albo „#”, (Hash) lub „$” (znak dolara) jest używany przed rzeczywistą wartością liczby szesnastkowej, #D5CF lub $D5CF.
Jako podstawa systemu szesnastkowego jest 16, który również stanowi liczbę poszczególnych symboli używanych w systemie, indeks dolny 16 jest używany do identyfikacji liczby wyrażonej w systemie szesnastkowym. Na przykład, poprzednia liczba szesnastkowa jest wyrażona jako: D5CF16
Counting using Hexadecimal Numbers
Więc wiemy teraz, jak przekonwertować 4 cyfry binarne na liczbę szesnastkową. Ale co, jeśli mieliśmy więcej niż 4 cyfry binarne, jak byśmy liczyć w systemie szesnastkowym poza końcową literę F. Prostą odpowiedzią jest zacząć od nowa z innym zestawem 4 bitów, jak poniżej.
0…to…9, A,B,C,D,E,F, 10…to…19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21….etc
Nie daj się zmylić, 10 lub 20 NIE jest dziesięć lub dwadzieścia to jest 1 + 0 i 2 + 0 w szesnastkowym. W rzeczywistości dwadzieścia nawet nie istnieje w szesnastkowym. Mając dwie liczby szesnastkowe możemy liczyć aż do FF, co jest równe dziesiętnemu 255. Podobnie, aby liczyć wyżej niż FF, dodalibyśmy trzecią cyfrę szesnastkową po lewej stronie, więc pierwszą 3-bitową liczbą szesnastkową byłoby 10016, (25610), a ostatnią FFF16, (409510). Maksymalna 4-cyfrowa liczba szesnastkowa to FFFF16, która jest równa 65,535 w systemie dziesiętnym i tak dalej.
Przedstawienie liczby szesnastkowej
MSB | Liczba szesnastkowa | LSB | ||||||
168 | 167 | 166 | 165 | 164 | 163 | 162 | 161 | 160 |
4.3G | 2.6G | 16M | 1M | 65k | 4k | 256 | 16 | 1 |
To dodawanie dodatkowych cyfr szesnastkowych do konwersji zarówno dziesiętnych i binarnych liczb do liczby szesnastkowej jest bardzo proste, jeśli są 4, 8, 12 lub 16 cyfr binarnych do konwersji. Ale możemy również dodać zera na lewo od najbardziej znaczącego bitu, MSB, jeśli liczba bitów binarnych nie jest wielokrotnością czterech.
Na przykład, 110010110110012 jest czternaście bitów liczby binarnej, która jest zbyt duża dla tylko trzy cyfry szesnastkowe tylko, ale zbyt małe dla czterech liczb szesnastkowych. Odpowiedzią jest dodanie dodatkowych zer do najbardziej lewego bitu, aż będziemy mieli kompletny zestaw czterobitowych liczb binarnych lub ich wielokrotności.
Dodawanie dodatkowych zer do liczby binarnej
Liczba binarna | 0011 | 0010 | 1101 | 1001 |
Liczba szesnastkowa | 3 | 2 | D | 9 |
Główną zaletą liczby szesnastkowej jest to, że jest bardzo zwarta, a dzięki zastosowaniu podstawy 16 oznacza, że liczba cyfr używanych do reprezentowania danej liczby jest zwykle mniejsza niż w systemie dwójkowym lub dziesiętnym. Ponadto, jest to szybkie i łatwe do konwersji między liczbami szesnastkowych i binarnych.
Liczby szesnastkowe Przykład No1
Konwertuj następujące liczby binarne 1110 10102 do jego odpowiednika liczby szesnastkowej.
Liczba binarna = 111010102 | |||
Pogrupuj bity na czwórki zaczynając od prawej strony | |||
= | 1110 | 1010 | |
Znajdź dziesiętny odpowiednik każdej poszczególnych grup | |||
= | 14 | 10 | (w systemie dziesiętnym) |
Przelicz na Szesnastkowy przy użyciu powyższej tabeli | |||
= | E | A | (w Hex) |
Następnie, szesnastkowy odpowiednik liczby binarnej
1110 10102 to #EA16 |
Liczby szesnastkowe Przykład No2
Przekształć następującą liczbę szesnastkową #3FA716 na jej odpowiednik binarny, a także na jej odpowiednik dziesiętny lub deniweralny, używając indeksów dolnych do identyfikacji każdego systemu numeracji.
#3FA716
= 0011 1111 1010 01112
= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 4 + 2 + 1)
= 16,29510
Wtedy liczba dziesiętna 16,295 może być przedstawiona jako:-
#3FA716 w systemie szesnastkowym
lub
0011 1111 1010 01112 w systemie binarnym.
Suma liczb szesnastkowych
Teraz podsumowanie. Szesnastkowy, lub Hex, system numeracji jest powszechnie stosowany w komputerach i systemów cyfrowych w celu zmniejszenia dużych ciągów liczb binarnych do zestawów czterech cyfr dla nas, aby łatwo zrozumieć. Słowo „szesnastkowy” oznacza szesnaście, ponieważ ten typ cyfrowego systemu numeracji używa 16 różnych cyfr od 0 do 9, i od A do F.
Liczby szesnastkowe grupują liczby binarne w zestawy czterech cyfr. Aby przekonwertować sekwencję binarną na równoważną liczbę szesnastkową, musimy najpierw zgrupować cyfry binarne w zestaw 4 bitów. Te binarne zestawy mogą mieć dowolną wartość od 010 ( 00002 ) do 1510 ( 11112 ) reprezentujących szesnastkowy odpowiednik 0 do F.
W następnym samouczku o Binary Logic będziemy patrzeć na konwersję całych ciągów liczb binarnych do innego cyfrowego systemu numeracji zwanego Octal Numbers i vice versa.
.