Skip to main content
🔬 Advanced

Kalkulator Hexadesimal

Tambah, kurangi, dan konversi bilangan hexadesimal. Lakukan aritmatika hex dan konversi ke desimal atau biner. Kalkulator matematika gratis, hasil instan.

Pengertian Hexadecimal (Base-16): Dasar

Hexadecimal (hex) adalah sistem angka posisi dengan basis 16. Ia menggunakan 16 simbol unik: angka 0-9 mewakili nilai nol hingga sembilan, dan huruf A-F (atau a-f) mewakili nilai sepuluh hingga lima belas. Satu digit hexadecimal mewakili tepat empat bit biner (sebuah "nibble"), membuat hex cara yang paling alami untuk mewakili data biner dalam format yang dapat dibaca manusia.

Nilai posisi setiap digit hex adalah kuadrat dari 16. Untuk bilangan hex 2F4:

Mengubah desimal ke hex: terus membagi dengan 16 dan merekam sisa (digit terkecil terlebih dahulu). 756 ÷ 16 = 47 R 4; 47 ÷ 16 = 2 R 15 (F); 2 ÷ 16 = 0 R 2. Baca sisa ke atas: 2F4₁₆ ✓. Di kebanyakan bahasa pemrograman, literal hex diberi awalan 0x: 0x2F4 = 756.

Tabel Konversi Hex ke Desimal

Referensi cepat untuk mengubah digit hex tunggal dan nilai hex umum ke desimal:

HexDesimalBinerArti Umum
0x0000000 0000Byte nol, salah, mati
0x0110000 0001Benar, diaktifkan
0x0A100000 1010Karakter baris baru (LF)
0x0D130000 1101Retur karussel (CR)
0x1F310001 1111Pemisah unit
0x20320010 0000Karakter spasi (ASCII)
0x41650100 0001'A' dalam ASCII
0x61970110 0001'a' dalam ASCII (huruf kecil)
0x7F1270111 1111Karakter DEL; pasangan nibble terbesar
0x801281000 0000Bit tandanya terpasang (negatif dalam byte tanda)
0xFF2551111 1111Byte tidak terbatas; semua bit terpasang
0x1002561 0000 0000Satu lebih dari byte terbesar
0xFFFF65.53516 satuNilai tidak terbatas 16-bit
0xFFFFFF16.777.21524 satuNilai tidak terbatas 24-bit (16M warna)

Hubungan antara hex dan biner adalah langsung: setiap digit hex mewakili tepat empat bit. A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111. Mengubah 0xAB ke biner: A=1010, B=1011 → 10101011₂ = 171₁₀.

Aritmatika Hex: Penjumlahan, Pengurangan, Perkalian

Aritmatika hexadecimal mengikuti aturan yang sama seperti aritmatika desimal tetapi mengangkut dan meminjam pada 16 bukan 10. Memahami aritmatika hex sangat penting untuk pemrograman assembly, sistem embedded, dan membaca output kompiler.

Contoh penjumlahan: 3A + 27. Satuan: A + 7 = 10 + 7 = 17 = 1×16 + 1 → tuliskan 1, angkut 1. Enam belas: 3 + 2 + 1 (angkut) = 6. Hasil: 61₁₆ = 97₁₀. Verifikasi: 58 + 39 = 97 ✓.

Contoh pengurangan: C3 − 5F. Satuan: 3 < F (15), jadi pinjam: 3 + 16 − 15 = 4, dan angkut 1 ke kolom berikutnya. Enam belas: C (12) − 5 − 1 (pinjam) = 6. Hasil: 64₁₆ = 100₁₀. Verifikasi: 195 − 95 = 100 ✓.

Contoh perkalian: 1A × 3. A × 3 = 30 = 1E₁₆ (tuliskan E, angkut 1). 1 × 3 + 1 = 4. Hasil: 4E₁₆ = 78₁₀. Verifikasi: 26 × 3 = 78 ✓.

Untuk perhitungan hex kompleks, mengubah ke desimal, menghitung, dan mengubah kembali seringkali lebih dapat diandalkan kecuali Anda sangat terlatih. Namun, memahami aritmatika hex membangun intuisi untuk tata letak memori, register CPU, dan representasi data.

Hex dalam Desain Web: Kode Warna

HTML dan CSS kode warna adalah salah satu aplikasi paling terlihat dari hexadecimal di luar program. Warna ditulis sebagai #RRGGBB di mana setiap saluran berkisar dari 00 (intensitas 0) hingga FF (intensitas penuh). Ini memberikan 256³ = 16.777.216 warna yang mungkin.

Kode HexMerahHijauBiruNama Warna
#FF000025500Merah murni
#00FF0002550Warna hijau murni (limau)
#0000FF00255Biru murni
#FFFF002552550Warna kuning
#FF00FF2550255Magenta
#00FFFF0255255Cyan
#FFFFFF255255255Putih
#000000000Hitam
#808080128128128Abu-abu sedang
#FF57332558751Warna oranye cerah

CSS juga mendukung warna 4 digit (#RGBA) dan 8 digit (#RRGGBBAA) hex di mana AA adalah saluran alpha (00 = transparan, FF = tidak transparan). Bentuk singkat warna (#RGB) memperluas dengan mengulang setiap digit: #F3A = #FF33AA.

Perancang web sering mengatur warna dengan mengubah nilai hex. Menambahkan ke saluran merah membuat warna lebih hangat; mengurangi membuatnya lebih dingin. Warna hex dengan nilai R, G, dan B yang sama selalu menghasilkan nuansa abu-abu. Warna seperti #7F7F7F adalah 50% abu-abu (127 dari 255 pada setiap saluran).

Hex dalam Program: Alamat Memori dan Manipulasi Bit

Dalam sistem program, hex adalah bahasa alami untuk alamat memori, flag bit, dan register perangkat keras. Setiap programmer yang bekerja di C, C++, assembly, atau sistem embedded selalu menghadapi hex.

Alamat memori: Pada sistem 32-bit, alamat berkisar dari 0x00000000 hingga 0xFFFFFFFF (4 GB). Rangkaian alamat umum: 0x00000000–0x00FFFFFF (memori rendah), 0x7FFFFFFF (max positif int 32-bit yang ditandatangani), 0x80000000 (awal ruang negatif dalam interpretasi yang ditandatangani), 0xFFFFFFFF (max unsigned 32-bit). Pada sistem 64-bit, ruang pengguna biasanya menempati 0x0000000000000000–0x00007FFFFFFFFFFF.

Manipulasi bit dengan masker hex: Operasi bit dinyatakan secara alami dalam hex karena mereka berada di batas nibble.

OperasiEkspresiEffek
Atur bit 3x |= 0x08Forcing bit 3 ke 1, meninggalkan yang lain tetap
Bersihkan bit 3x &= ~0x08Forcing bit 3 ke 0, meninggalkan yang lain tetap
Toggle bit 3x ^= 0x08Flip bit 3, meninggalkan yang lain tetap
Periksa bit 3(x & 0x08) != 0Uji apakah bit 3 telah diatur
Ekstrak nibble rendahx & 0x0FDapatkan 4 bit terendah
Ekstrak nibble tinggi(x >> 4) & 0x0FDapatkan 4 bit atas dari byte

Konstanta hex terkenal: Programmers telah menciptakan konstanta yang teringat untuk debugging dan inisialisasi: 0xDEADBEEF (digunakan untuk menandai memori yang tidak diinisialisasi di sistem IBM lama), 0xCAFEBABE (nomor kelas file Java), 0xFEEDFACE (format biner Mach-O), 0x0BADF00D (sentinel debugging memori), 0xDEADC0DE (digunakan dalam deteksi kegagalan iOS). Konstanta-konstanta ini muncul tidak ambigu dalam dump hex, membuatnya mudah dilihat selama debugging.

Tanda Format File dan Forensik Hex

Setiap format file memiliki urutan byte karakteristik di awal yang disebut "nomor sihir" atau tanda file. Editor hex dan alat forensik digital menggunakan tanda-tanda ini untuk mengidentifikasi jenis file tanpa memperhatikan ekstensi file. Mengetahui tanda-tanda file penting untuk pemulihan data, analisis malware, dan forensik digital.

Jenis FileTanda Hex (byte pertama)Representasi ASCII
File gambar JPEGFF D8 FFÿØÿ
File gambar PNG89 50 4E 47 0D 0A 1A 0A.PNG....
File dokumen PDF25 50 44 46%PDF
File arsip ZIP50 4B 03 04PK..
File gambar GIF47 49 46 38GIF8
File eksekutif ELF (Linux)7F 45 4C 46.ELF
File eksekutif PE Windows4D 5AMZ
File audio MP3FF FB atau 49 44 33ÿû atau ID3
Database SQLite53 51 4C 69 74 65SQLite

Profesional keamanan menggunakan hex untuk meninjau file biner tanpa percaya ekstensi file. File bernama "document.pdf" yang dimulai dengan 4D 5A adalah sebenarnya eksekutif Windows — trik malware yang umum. Analisis hex paket jaringan mengungkapkan struktur protokol, kepala enkripsi, dan potensi eksploit.

Perbandingan Basis Angka: Desimal, Binari, Oktal, Heksadesimal

Komputer menggunakan basis angka yang berbeda untuk tujuan yang berbeda. Memahami bagaimana mereka berhubungan membantu dalam membaca dokumentasi teknis, debugging, dan pengembangan sistem.

DesimalBinari (basis 2)Oktal (basis 8)Heksadesimal (basis 16)
0000000
81000108
10101012A
15111117F
160001 00002010
640100 000010040
1281000 000020080
2551111 1111377FF
2561 0000 0000400100
1024100 0000 00002000400

Oktal (basis 8) pernah umum digunakan dalam komputasi (muncul dalam hak akses file Unix: chmod 755 = 111 101 101 dalam binari = rwxr-xr-x). Heksadesimal (basis 16) menggantikan oktal untuk kebanyakan tujuan karena 4 bit per digit (heksadesimal) lebih sesuai dengan arsitektur modern 8-bit, 16-bit, 32-bit, dan 64-bit daripada 3 bit per digit (oktal).

Banyak Pertanyaan yang Sering Ditanyakan

Bagaimana cara saya mengubah antara hex dan biner dengan cepat?

Setiap digit hex setara dengan 4 bit biner: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. Untuk mengubah 0xB7: B=1011, 7=0111 → 10110111₂. Untuk mengubah 11001010₂: pisahkan menjadi nibbles: 1100=C, 1010=A → 0xCA.

Mengapa CSS menggunakan hexadecimal?

CSS menggunakan hex karena setiap saluran RGB (0-255) pas dengan tepat dalam 2 digit hex (00-FF). Format #RRGGBB kompak, tidak ambigu, dan menerjemahkan langsung ke model warna 24-bit yang digunakan oleh perangkat display. HTML menerima warna hex pada awal tahun 1990-an dari definisi warna X11, dan konvensi ini telah menjadi standar sejak itu.

Apakah 0xFF sama dengan apa dalam desimal?

0xFF = 15×16 + 15 = 240 + 15 = 255. Dalam biner, FF = 1111 1111, berarti semua 8 bit diatur. 255 adalah nilai maksimum dari byte tidak tanda (uint8), nilai maksimum intensitas untuk setiap saluran warna RGB, dan muncul secara terus-menerus dalam jaringan (255.255.255.255 adalah alamat siaran) dan komputasi.

Apakah perbedaan antara 0x1F dan 0xF1?

Ini adalah bilangan yang berbeda dengan digit yang sama dalam urutan yang berbeda. 0x1F = 1×16 + 15 = 31 desimal. 0xF1 = 15×16 + 1 = 241 desimal. Dalam biner: 0x1F = 0001 1111; 0xF1 = 1111 0001. Nilai posisi yang berbeda, seperti 19 ≠ 91 dalam desimal.

Berapa digit hex yang saya butuhkan untuk mewakili bilangan 32-bit?

8 digit hex tepat (karena 16⁸ = 2³², menutup semua nilai 32-bit dari 0x00000000 hingga 0xFFFFFFFF). Alamat memori pada sistem 32-bit ditampilkan sebagai 8 digit hex. Untuk bilangan 64-bit, Anda membutuhkan 16 digit hex (0x0000000000000000 hingga 0xFFFFFFFFFFFFFFFF).

Apakah prefix "0x" berarti apa dalam bilangan hex?

Prefix "0x" adalah konvensi notasi yang digunakan dalam C dan kebanyakan bahasa pemrograman untuk menunjukkan bahwa bilangan yang mengikuti adalah hexadecimal. "0x" berarti "hex" (huruf 'x' menunjukkan hexadecimal). Notasi lain: akhir 'h' dalam assembly (FFh), awal '#' dalam CSS dan beberapa konteks (#FF0000), dan prefix $ dalam beberapa bahasa yang lebih tua ($FF).

Bagaimana hex digunakan dalam alamat IP?

Alamat IPv4 (misalnya, 192.168.1.1) dapat ditulis dalam hex: setiap oktet dalam hex. 192.168.1.1 = 0xC0 0xA8 0x01 0x01 = 0xC0A80101. Alamat IPv6 sudah ditulis dalam hex: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Ini membuat manipulasi alamat IPv6 jauh lebih mudah dengan aritmatika hex.

Apakah hex editor dan kapan saya akan menggunakan satu?

Hex editor menampilkan dan mengedit file sebagai byte-raw dalam hexadecimal. Penggunaan umum: meninjau tanda tandatangan file untuk mengidentifikasi jenis file, mengedit file penyimpanan game biner, mengembangkan ulang perangkat lunak, menganalisis tangkapan jaringan, mengembalikan data dari file yang rusak, dan forensik digital. Hex editor populer termasuk HxD (Windows), hex fiend (Mac), dan xxd (alat baris perintah Unix).

Mengapa hexadecimal digunakan daripada desimal dalam komputasi?

Karena komputer beroperasi dalam biner (basis 2), dan 16 = 2⁴ — hex sesuai dengan sempurna dengan biner. Satu digit hex = 4 bit, dua digit hex = 1 byte (8 bit), empat digit hex = 16 bit, delapan digit hex = 32 bit. Desimal tidak memiliki korespondensi yang sama dengan kuadrat dari 2, membuat hex jauh lebih alami untuk mengekspresikan data biner dengan kompak.

Bagaimana saya mengubah warna hex ke nilai RGB?

Pisahkan warna hex 6 digit menjadi tiga kelompok 2 digit: #RRGGBB. Konversi masing-masing dari hex ke desimal. Contoh: #4A90E2 → R=0x4A=74, G=0x90=144, B=0xE2=226. Jadi warna ini adalah rgb(74, 144, 226) — biru sedang. Untuk mengembalikan: konversi nilai desimal ke 2 digit hex dan gabungkan: rgb(255, 87, 51) → #FF5733.

Hexadecimal dalam Jaringan dan Protokol

Jaringan komputer menggunakan hexadecimal secara luas. Alamat MAC — identifikasi perangkat keras untuk antarmuka jaringan — ditulis sebagai 6 byte hex yang dipisahkan oleh titik dua atau tanda hubung: misalnya, 00:1A:2B:3C:4D:5E. Tiga byte pertama (00:1A:2B) mengidentifikasi produsen (Identifikasi Unik Organisasi, OUI), sedangkan tiga byte terakhir (3C:4D:5E) mengidentifikasi perangkat khusus.

Alamat IPv6 adalah 128 bit yang diekspresikan sebagai 8 kelompok 4 digit hex: 2001:0DB8:AC10:FE01:0000:0000:0000:0000. Nol awal dalam kelompok dapat dihilangkan dan kelompok nol berurutan dapat dikompresi dengan "::", sehingga 2001:DB8:AC10:FE01::. Memahami hex sangat penting untuk membaca alamat IPv6, masker subnet, dan tabel routing.

Frame Ethernet, paket IP, segment TCP — semua memiliki bidang yang diekspresikan dalam hex dalam alat analisis jaringan seperti Wireshark. Paket SYN TCP menampilkan bidang flag sebagai 0x002 (hanya bit SYN yang aktif); paket SYN-ACK menampilkan 0x012 (bit SYN + ACK aktif). Membaca nilai hex secara langsung dari rekaman paket adalah keterampilan troubleshooting jaringan dasar.

Unicode dan Hex: Pengkodean Karakter

Unicode, standar pengkodean karakter universal, menetapkan setiap karakter kode titik kode yang diekspresikan dalam hex. Bidang Multilingual Dasar menjangkau U+0000 hingga U+FFFF. Contoh:

KarakterKode Titik UnicodePengkodean UTF-8 (hex)Deskripsi
AU+004141Huruf kapital Latin A
αU+03B1CE B1Huruf kecil Yunani alpha
U+20ACE2 82 ACTanda euro
U+4E2DE4 B8 ADKarakter Cina "tengah"
😀U+1F600F0 9F 98 80Wajah tersenyum emoji
©U+00A9C2 A9Tanda hak cipta

Pengkodean UTF-8 mengkodekan karakter ASCII (U+0000 hingga U+007F) dalam 1 byte identik dengan nilai ASCII-nya. Karakter U+0080 hingga U+07FF menggunakan 2 byte, U+0800 hingga U+FFFF menggunakan 3 byte, dan karakter di luar U+FFFF (seperti kebanyakan emoji) menggunakan 4 byte. Pengkodean variabel ini, semua yang diekspresikan dalam hex, adalah mengapa memahami hex membantu ketika debugging masalah pengkodean teks dalam aplikasi web.