Heksadesimal dalam satu kalimat
Heksadesimal adalah sistem bilangan posisional berbasis 16: setiap digit bernilai 16 kali lebih besar daripada digit di sebelah kanannya, dan nilai 10 sampai 15 ditulis dengan huruf A sampai F. Untuk menandai bilangan hex, programmer menulis 0x1A (C, Java, JavaScript, Python), #1A2B3C untuk warna CSS, 1Ah dalam assembly, atau 1A₁₆ dalam matematika.
Tabel digit hex dari 0 sampai 15
| Desimal | Hex | Biner | Desimal | Hex | Biner |
|---|---|---|---|---|---|
| 0 | 0 | 0000 | 8 | 8 | 1000 |
| 1 | 1 | 0001 | 9 | 9 | 1001 |
| 2 | 2 | 0010 | 10 | A | 1010 |
| 3 | 3 | 0011 | 11 | B | 1011 |
| 4 | 4 | 0100 | 12 | C | 1100 |
| 5 | 5 | 0101 | 13 | D | 1101 |
| 6 | 6 | 0110 | 14 | E | 1110 |
| 7 | 7 | 0111 | 15 | F | 1111 |
Cara berhitung dalam hex
Hex berhitung seperti desimal, tetapi naik ke digit berikutnya setelah F, bukan setelah 9: … 8, 9, A, B, C, D, E, F, 10, 11 … 19, 1A … 1F, 20 … FF, 100. Di sini 10 berarti enam belas dan 100 berarti 16 × 16 = 256. Dua digit hex mencakup satu byte (00–FF = 0–255), empat digit mencapai FFFF = 65.535, dan delapan digit mencapai FFFFFFFF = 4.294.967.295.
Mengapa komputer memakai heksadesimal
Komputer menyimpan segalanya dalam biner, tetapi deretan panjang angka 0 dan 1 sulit dibaca manusia dan mudah salah ketik. Karena 16 = 2⁴, satu digit hex mewakili tepat empat bit (satu nibble) dan dua digit hex mewakili satu byte. Konversi antara hex dan biner cukup dilakukan digit demi digit dengan tabel, dan hex empat kali lebih pendek: 1101 1110 1010 1101 cukup ditulis DEAD. Desimal tidak punya hubungan serapi itu dengan biner, karena itulah desimal jarang dipakai untuk data mentah.
Konversi heksadesimal ke desimal dan sebaliknya
- Hex ke desimal: kalikan setiap digit dengan 16 pangkat posisinya, lalu jumlahkan:
2F= 2 × 16 + 15 = 47, dan1A3F= 1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719. - Desimal ke hex: bagi dengan 16 berulang kali dan baca sisanya dari belakang: 200 ÷ 16 = 12 sisa 8, dan 12 = C, jadi 200 =
C8. - Hex ke biner: ganti setiap digit dengan 4 bitnya:
2F=0010 1111.
Konverter kami melakukan semua ini secara instan dan menampilkan setiap langkahnya.
Di mana heksadesimal digunakan
- Warna web:
#FF6347terdiri dari merahFF, hijau63, dan biru47. - Alamat memori: debugger dan laporan crash menampilkan pointer seperti
0x7FFE5A3C. - Alamat MAC: enam byte seperti
00:1A:2B:3C:4D:5Emengidentifikasi kartu jaringan. - Alamat IPv6: delapan kelompok berisi empat digit hex, misalnya
2001:db8::1. - Unicode: setiap karakter memiliki code point hex –
U+00E9adalah é danU+1F600adalah 😀. - Hash dan ID: hash SHA-256 terdiri dari 64 karakter hex, dan UUID serta ID commit Git ditulis dalam hex.
- Hex dump: hex editor menampilkan isi file byte demi byte; setiap PDF diawali
25 50 44 46(“%PDF”). - Kode error: Windows melaporkan error seperti
0x80070005(akses ditolak).
Perbandingan heksadesimal, desimal, oktal, dan biner
| Sistem | Basis | Digit | 255 ditulis | Penggunaan umum |
|---|---|---|---|---|
| Biner | 2 | 0–1 | 11111111 | Perangkat keras, bit flag |
| Oktal | 8 | 0–7 | 377 | Izin file Unix (chmod 755) |
| Desimal | 10 | 0–9 | 255 | Angka sehari-hari |
| Heksadesimal | 16 | 0–9, A–F | FF | Byte, warna, alamat, hash |
Bilangan negatif dalam hex
Hex sendiri tidak memiliki tanda khusus, sehingga bilangan negatif biasanya disimpan dalam komplemen dua (two's complement): bit tertinggi dari nilai berukuran tetap menandakan bahwa nilainya negatif. Sebagai byte bertanda, 7F adalah 127, 80 adalah −128, dan FF adalah −1; sebagai integer 32-bit, FFFFFFFF adalah −1. Dalam matematika dan di kalkulator kami, Anda juga bisa langsung menulis tanda minus: −1A = −26.
Pertanyaan yang sering diajukan
Mengapa heksadesimal memakai huruf?
Basis 16 membutuhkan enam belas digit satu karakter, padahal angka hanya ada sepuluh. Huruf A–F mewakili nilai 10–15. Huruf besar dan huruf kecil berarti sama: ff = FF = 255.
Apa arti 0x di depan sebuah bilangan?
Awalan ini menandai bilangan sebagai heksadesimal di C, C++, Java, JavaScript, Python, dan banyak bahasa lainnya: 0x10 adalah 16, bukan sepuluh. Untuk warna, CSS memakai #, sedangkan kode assembly sering menambahkan akhiran h (10h).
Apakah heksadesimal sama dengan Base64?
Tidak. Hex menulis setiap byte sebagai dua karakter dari 0–9 dan A–F, sehingga ukuran data menjadi dua kali lipat, tetapi tetap mudah dibaca byte demi byte. Base64 memakai 64 karakter dan mengemas 3 byte ke dalam 4 karakter, sehingga lebih ringkas (tambahan sekitar 33%), tetapi tidak bisa dibaca per byte.
Terakhir diperbarui: