Menu
Coddy logo textTech

Neden Hexadecimal?

Coddy'nin Assembly Journey'sinin Temeller bölümünün bir parçası. Ders 10 / 45.

Artık bilgisayarların ikili sistem kullandığını biliyorsun. Peki assembly programcıları ikili sayıları neden nadiren doğrudan yazar?

İkili sistemle ilgili sorun:

İkili sayılar çok uzundur. Şu örneğe bakın:

Sayıİkili
25511111111
10001111101000
655351111111111111111

Uzun 1 ve 0 dizileri yazmak yavaş, hataya açık ve okunması zordur.

Çözüm: onaltılık (taban 16).

Onaltılık (veya "hex"), 16 sembol kullanır:

BasamakDeğer
0-90'dan 9'a
A10
B11
C12
D13
E14
F15

hex bilgisayarlar için neden mükemmeldir:

Bir hex digit tam olarak 4 bits'i (bir byte'ın yarısını) temsil eder.

BitsGerekli hex digits
4 bits (nibble)1 hex digit
8 bits (1 byte)2 hex digits
16 bits (2 bytes)4 hex digits
32 bits (4 bytes)8 hex digits
64 bits (8 bytes)16 hex digits

Aynı sayı, üç şekilde:

OndalıkİkiliOnaltılık
25511111111FF
100011111010003E8
655351111111111111111FFFF

hex'in binary'den ne kadar daha kısa olduğuna dikkat et.

Assembly'de hex göreceğiniz yerler:

  • Bellek adresleri (0x7FFF veya 0x402000 gibi)
  • ASCII kodları (satır sonu için 0x41, 0x0a gibi)
  • Hata ayıklayıcılardaki kayıt değerleri
  • Renk değerleri (kırmızı için 0xFF0000 gibi)

Hex, bir önekle yazılır:

ÖnekÖrnekAnlam
0x0xFFHex'te FF (ondalık sistemde 255)
$$FFAynı şey (bazı assembler'larda kullanılır)
hFFhAynı şey (eski stil)

Bu kursta 0x ön ekini kullanıyoruz: 0x0a, 0x41, 0xFF.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Assembly playground