Neden Hexadecimal?
Coddy'nin Assembly Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 10 / 45.
Artık bilgisayarların ikili sayı sistemini kullandığını biliyorsun. Peki, assembly programcıları neden nadiren doğrudan ikili sayı yazar?
İkili sistemin sorunu:
İkili sayılar çok uzundur. Şu örneğe bakın:
| Sayı | İkili |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Uzun 1 ve 0 dizileri yazmak yavaştır, hataya açıktır ve okunması zordur.
Çözüm: onaltılık (16 tabanında).
Onaltılık (veya "hex") 16 sembol kullanır:
| Basamak | Değer |
|---|---|
| 0-9 | 0'dan 9'a |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Onaltılık sayı sistemi bilgisayarlar için neden mükemmeldir:
Bir onaltılık basamak tam olarak 4 biti (yarım baytı) temsil eder.
| Bitler | Gerekli onaltılık basamak sayısı |
|---|---|
| 4 bit (nibble) | 1 onaltılık basamak |
| 8 bit (1 bayt) | 2 onaltılık basamak |
| 16 bit (2 bayt) | 4 onaltılık basamak |
| 32 bit (4 bayt) | 8 onaltılık basamak |
| 64 bit (8 bayt) | 16 onaltılık basamak |
Aynı sayı, üç farklı gösterim:
| Ondalık | İkili | Onaltılık |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Onaltılık sistemin ikili sistemden ne kadar kısa olduğuna dikkat edin.
Assembly'de hex'i göreceğiniz yerler:
- Bellek adresleri (
0x7FFFveya0x402000gibi) - ASCII kodları ('A' için
0x41, yeni satır için0x0agibi)
- Hata ayıklayıcılardaki kayıt değerleri
- Renk değerleri (kırmızı için
0xFF0000gibi)
Onaltılık sayı bir önekle yazılır:
| Önek | Örnek | Anlamı |
|---|---|---|
0x | 0xFF | Onaltılık sistemde FF (ondalık sistemde 255) |
$ | $FF | Aynı şey (bazı assembly dillerinde kullanılır) |
h | FFh | Aynı şey (eski biçim) |
Bu kursta 0x önekini kullanıyoruz: 0x0a, 0x41, 0xFF.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
2Sayı Sistemleri
Neden İkilik Sistem?İkilik SayılarOnluktan İkiliğeNeden Hexadecimal?Hex'ten OnluğaOnluktan Hex'eASCII ve HexKendi başına pratik yap: Assembly playground
Bir dönüşümü kontrol et: Sayı Tabanı Dönüştürücü