Mengapa Heksadesimal?
Termasuk bagian Dasar-Dasar dalam perjalanan Assembly di Coddy. Pelajaran 10 dari 45.
Sekarang kamu tahu bahwa komputer menggunakan bilangan biner. Jadi, mengapa programmer assembly jarang menulis bilangan biner secara langsung?
Masalah dengan bilangan biner:
Bilangan biner sangat panjang. Lihat contoh ini:
| Bilangan | Biner |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Menulis string panjang yang terdiri dari angka 1 dan 0 itu lambat, rentan kesalahan, dan sulit dibaca.
Solusinya: heksadesimal (basis 16).
Heksadesimal (atau "hex") menggunakan 16 simbol:
| Digit | Nilai |
|---|---|
| 0-9 | 0 sampai 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Mengapa heksadesimal sempurna untuk komputer:
Satu digit heksadesimal mewakili tepat 4 bit (setengah byte).
| Bit | Jumlah digit heksadesimal yang dibutuhkan |
|---|---|
| 4 bit (nibble) | 1 digit heksadesimal |
| 8 bit (1 byte) | 2 digit heksadesimal |
| 16 bit (2 byte) | 4 digit heksadesimal |
| 32 bit (4 byte) | 8 digit heksadesimal |
| 64 bit (8 byte) | 16 digit heksadesimal |
Bilangan yang sama, tiga cara:
| Desimal | Biner | Heksadesimal |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Perhatikan betapa lebih singkatnya bilangan heksadesimal dibandingkan bilangan biner.
Di mana kamu akan melihat bilangan heksadesimal dalam assembly:
- Alamat memori (seperti
0x7FFFatau0x402000) - Kode ASCII (seperti
0x41untuk 'A',0x0auntuk baris baru)
- Nilai register di debugger
- Nilai warna (seperti
0xFF0000untuk warna merah)
Bilangan heksadesimal ditulis dengan awalan:
| Awalan | Contoh | Makna |
|---|---|---|
0x | 0xFF | FF dalam heksadesimal (255 dalam desimal) |
$ | $FF | Sama (digunakan dalam beberapa assembler) |
h | FFh | Sama (gaya lama) |
Dalam kursus ini, kita menggunakan awalan 0x: 0x0a, 0x41, 0xFF.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
2Sistem Bilangan
Mengapa Biner?Bilangan BinerDesimal ke BinerMengapa Heksadesimal?Heksadesimal ke DesimalDesimal ke HeksadesimalASCII & HeksadesimalLatihan sendiri: Playground Assembly
Periksa konversi: Konverter Basis Bilangan