System liczb szesnastkowych jest systemem liczbowym o podstawie 16. Zastępuje standardowe cyfry dziesiętne od 0 do 9 literami od A do F. Masz więc 16 różnych znaków do pracy. Sama nazwa wskazuje na jego strukturę. „Hexa” pochodzi od greckiego słowa oznaczającego sześć, a „dziesiętny” odnosi się do systemu o podstawie 10. Razem opisują system, który służy jako pomost pomiędzy dwoma bardzo różnymi sposobami liczenia.
Komputery żyją w systemie binarnym. Komunikują się za pomocą zer i jedynek. Ludzie żyją w systemie dziesiętnym. Liczymy na dziesięciu palcach. Bezpośrednia konwersja długich ciągów kodu binarnego na coś, co człowiek może szybko odczytać, jest uciążliwa. To męczące. Jest to obarczone błędami. System szesnastkowy eliminuje tę niedogodność.
Dlaczego zapis szesnastkowy jest ważny w obliczeniach
Głównym powodem używania szesnastkowego formatu w obliczeniach jest czytelność. Ciągi binarne są niezwykle trudne do zrozumienia dla ludzi. Jeden bajt danych może wyglądać następująco: 11111011. Łatwo przegapić jeden kawałek. Trudno zauważyć wzór. Jeśli przekonwertujesz ten sam bajt na format szesnastkowy, stanie się on FB. Dużo czyściej. Dużo łatwiej się z nim pracuje.
Ponieważ 16 jest potęgą dwójki (2 $^4 $), konwersja między systemem binarnym i szesnastkowym jest prosta. Grupujesz cyfry binarne czwórkami. Każda grupa odpowiada doskonale jednej cyfrze szesnastkowej. To matematyczne połączenie sprawia, że jest to naturalny most.
Historycznie rzecz biorąc, systemy bazowe 16 nie zostały wynalezione dla komputerów. Starożytne chińskie systemy pomiarowe wykorzystywały pojęcia szesnastkowe na długo przed pojawieniem się chipów krzemowych. Jednak w epoce cyfrowej pełni ona specyficzną, krytyczną funkcję. Tłumaczy surowy język maszynowy na format, z którym mogą pracować programiści, programiści i administratorzy systemów.
Jak działają operacje szesnastkowe
Obowiązują tutaj wszystkie standardowe operacje arytmetyczne, które znasz z systemu dziesiętnego. Możesz dodawać, odejmować i mnożyć, korzystając z zasad podstawy 16. Logika pozostaje ta sama; Zmieniają się tylko symbole i punkty dzielenia wyrazów.
Spójrzmy na proste dodawanie. W systemie dziesiętnym 10 USD + 10 = 20 USD. W systemie binarnym jest to 1010 USD + 1010 = 10100 USD. W systemie szesnastkowym spójrzmy na $A + B$.
$A$ reprezentuje 10. $B$ reprezentuje 11.
10 USD + 11 = 21 USD w systemie dziesiętnym.
W systemie szesnastkowym liczba 21 jest reprezentowana jako „15” (jedna szesnastka, po której następuje pięć jedynek).
Zatem $A + B = 15_{16}$.
To nie jest tylko teoria. Niezależnie od tego, czy debugujesz adresy pamięci, czy analizujesz kody kolorów na potrzeby projektowania stron internetowych, codziennie masz do czynienia z wartościami szesnastkowymi. Jest to standard prezentacji danych w zwartej, czytelnej dla człowieka formie.
Gdzie używany jest system szesnastkowy
Z systemem szesnastkowym spotykasz się częściej, niż myślisz. Jest szeroko stosowany w programowaniu niskiego poziomu. Adresy pamięci są zwykle wyświetlane w formacie szesnastkowym. Adresy MAC kart sieciowych są kodowane w formacie szesnastkowym. Nawet kody kolorów HTML, takie jak #FF5733 opierają się na tym systemie.
Wybór nie jest dowolny. Chodzi o efektywność i przejrzystość. System binarny jest za długi. System dziesiętny jest niezgodny z binarną podstawą architektury komputera. System szesnastkowy znajduje się pośrodku. Zmniejsza długość reprezentacji danych
System binarny jest dokładny. Ale to jest nieczytelne.
Sekwencja jedynek i zer jest odpowiednia dla maszyny. Dla człowieka to koszmar. System szesnastkowy rozwiązuje ten problem. Kompresuje dane. Zamienia surowe obliczenia mechaniczne komputera w coś, co człowiek może faktycznie zrozumieć.
Matematyka jest prosta. W systemie szesnastkowym używana jest podstawa 16. W systemie dziesiętnym używana jest podstawa 10. W systemie binarnym używana jest podstawa 2.
Ponieważ 16 jest większe niż 10 i 2, ciągi szesnastkowe są krótsze. Więcej informacji pakujesz w mniejszą liczbę znaków. Weź liczbę, która wymaga 24 cyfr w formacie binarnym. To 7 cyfr w systemie dziesiętnym. A w systemie szesnastkowym? Zmniejsza się do zaledwie 6 cyfr.
Ta kompresja nie polega wyłącznie na oszczędzaniu miejsca na ekranie. Chodzi o to, żeby zachować zdrowy rozsądek.
Gdzie w technologii występuje system szesnastkowy
Kiedy nauczysz się go zauważać, zobaczysz ten system wszędzie. Jest to klej spajający instrukcje maszynowe niskiego poziomu i interfejsy użytkownika wysokiego poziomu.
- Adresy pamięci: Lokalizacje pamięci o dostępie swobodnym (RAM) są często oznaczone 16- lub 32-bitowymi kodami szesnastkowymi.
- Kolory sieciowe: Kod
#RRVVBB, który widzisz w CSS? Są to wartości koloru czerwonego, zielonego i niebieskiego w formacie szesnastkowym. - Bezpieczeństwo sieci: Starsze klucze WEP korzystają z zapisu szesnastkowego.
- Kodowanie znaków: Unicode używa systemu szesnastkowego do zestawiania znaków.
- Identyfikatory sprzętu: Każda karta sieciowa ma unikalny adres MAC zapisany w formacie szesnastkowym.
Jak działa system podstawowy 16
System szesnastkowy wykorzystuje dziesięć cyfr i sześć liter.
Od 0 do 9. Następnie od A do F.
A wynosi 10. B wynosi 11. C wynosi 12. D wynosi 13. E wynosi 14. F wynosi 15.
Dlaczego te litery? Ponieważ po 9 w każdym standardowym systemie liczby się kończą. Potrzebujemy symboli dla wyższych wartości.
Istnieje bezpośrednie połączenie z systemem binarnym. Każda cyfra szesnastkowa reprezentuje dokładnie cztery bity.
Cztery bity mogą utworzyć 16 unikalnych kombinacji (od 0000 do 1111). To idealne dopasowanie.
Weźmy literę C. W systemie dziesiętnym jest to 12. W systemie binarnym jest to 1100. Jeden znak. Cztery bity. Czysta transformacja.
Konwertuj plik binarny na szesnastkowy
Sekret tkwi w zgrupowaniu.
Nie konwertujesz jednej cyfry na raz. Dzielisz ciąg binarny na grupy po cztery znaki, zaczynając od prawej strony.
Spójrz na tę liczbę binarną:
0111 1010
Rozbij to.
Lewa grupa: 0111. To jest 7.
Prawa grupa: 1010. To jest 10. W systemie szesnastkowym 10 to A.
Połącz je. Okazuje się, że „7A”.
Wypróbuj bardziej złożony przykład.
Dziesiętne: 1763.
Binarny: 11011100011.
Wygląda nieporządnie. Dlatego będziemy dodawać zera po lewej stronie, aż liczba cyfr stanie się wielokrotnością czterech.
0110 1110 0011
Teraz przeczytaj każdą grupę.
„0110” to 6.
1110 to 14 (E).
„0011” to 3.
Wynik: 6E3.
Krótko mówiąc. Odkurzacz. To samo znaczenie.
Jak odzyskać wartość dziesiętną
Jak odczytać liczbę szesnastkową, jeśli jesteś przyzwyczajony do systemu dziesiętnego? Musisz obliczyć położenie.
Każda cyfra ma wagę zależną od jej położenia, licząc od prawej do lewej, zaczynając od 0.
Weźmy „A2F”.
F znajduje się na pozycji 0. Jego wartość wynosi 15. To znaczy 15 x 16⁰.
2 jest na pozycji 1. Jego wartość wynosi 2. Czyli 2 x 16¹.
A znajduje się na pozycji 2. Jego wartość wynosi 10. To jest 10 x 16².
Zróbmy obliczenia.
10×256 = 2560.
2×16 = 32.
15 x 1 = 15.
Dodajmy je.
2560 + 32 + 15 = 2607.
Jest to po prostu zapis pozycyjny. Podobnie jak dziesiątki i setki w zwykłej matematyce, ale z potęgą 16.
Ograniczenia kodowania ASCII i podstawowego
System szesnastkowy służy nie tylko do oznaczania liczb. W ten sposób komputery mówią o tekście.
ASCII definiuje 128 znaków. Używa 7 bitów. Ósmy bit ma wartość zero.
Wartości te można odwzorować na wartości szesnastkowe (00 do 7F).
- 00-1F: Kody sterujące. Niewidoczne. Backspace, sygnał, enter.
- 20-2F: Znaki specjalne. Spacje, znaki interpunkcyjne, nawiasy.
- 30-39: Liczby od 0 do 9.
- 3A-3F: Znaki dodatkowe. Dwukropek, średnik, ukośnik.
- 41-5A: Wielkie litery A-Z.
- 61-7a: Małe litery a-z.
- 7F: Usuń polecenie.
To działa w przypadku języka angielskiego. To trudne. To skuteczne.
Ale
