Menu
Coddy logo textTech

Dlaczego system szesnastkowy?

Część sekcji Podstawy ścieżki Assembly w Coddy. Lekcja 10 z 45.

Wiesz już, że komputery używają systemu binarnego. Dlaczego więc programiści asemblera rzadko zapisują kod bezpośrednio w systemie binarnym?

Problem z systemem binarnym:

Liczby binarne są bardzo długie. Spójrz na ten przykład:

LiczbaSystem binarny
25511111111
10001111101000
655351111111111111111

Zapisywanie długich ciągów jedynek i zer jest powolne, podatne na błędy i trudne do odczytania.

Rozwiązanie: system szesnastkowy (podstawa 16).

System szesnastkowy (lub „hex”) używa 16 symboli:

CyfraWartość
0-9od 0 do 9
A10
B11
C12
D13
E14
F15

Dlaczego system szesnastkowy jest idealny dla komputerów:

Jedna cyfra szesnastkowa reprezentuje dokładnie 4 bity (pół bajta).

BityWymagana liczba cyfr szesnastkowych
4 bity (półbajt)1 cyfra szesnastkowa
8 bitów (1 bajt)2 cyfry szesnastkowe
16 bitów (2 bajty)4 cyfry szesnastkowe
32 bity (4 bajty)8 cyfr szesnastkowych
64 bity (8 bajtów)16 cyfr szesnastkowych

Ta sama liczba, trzy sposoby zapisu:

DziesiętnyBinarnySzesnastkowy
25511111111FF
100011111010003E8
655351111111111111111FFFF

Zwróć uwagę, o ile krótszy jest zapis szesnastkowy od binarnego.

Gdzie spotkasz zapis szesnastkowy w asemblerze:

  • Adresy pamięci (takie jak 0x7FFF lub 0x402000)
  • Kody ASCII (takie jak 0x41 dla „A”, 0x0a dla znaku nowej linii)
  • Wartości rejestrów w debuggerach
  • Wartości kolorów (np. 0xFF0000 dla czerwonego)

Liczby szesnastkowe zapisuje się z prefiksem:

PrefiksPrzykładZnaczenie
0x0xFFFF w systemie szesnastkowym (255 w systemie dziesiętnym)
$$FFTo samo (używane w niektórych asemblerach)
hFFhTo samo (starszy zapis)

W tym kursie używamy prefiksu 0x: 0x0a, 0x41, 0xFF.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Assembly