Skip to main content
🔬 Advanced

Hexadecimal Calculator

Add, subtract, and convert hexadecimal numbers. Perform hex arithmetic and convert to decimal or binary. Free math calculator. Get instant results now.

<bahagian kandungan

Memahami Hexadecimal (Base-16): Asas

Hexadecimal (hex) ialah sistem nombor posisi dengan asas 16. Ia menggunakan enam belas simbol yang unik: nombor 0-9 mewakili nilai 0 hingga 9, dan huruf A-F (atau a-f) mewakili nilai 10 hingga 15. Satu digit hexadecimal mewakili tepat empat bit binari (sebuah "nibble"), menjadikan hex sebagai cara yang paling semulajadi untuk mewakili data binari dalam format yang boleh dibaca oleh manusia.

Nilai posisi setiap digit hex ialah kuasa 16. Untuk nombor hex 2F4:

Mengubah desimal ke hex: terus-menerus membagi dengan 16 dan merekodkan sisa (digit terakhir dahulu). 756 ÷ 16 = 47 R 4; 47 ÷ 16 = 2 R 15 (F); 2 ÷ 16 = 0 R 2. Baca sisa ke atas: 2F4₁₆ ✓. Dalam kebanyakan bahasa pengaturcaraan, literal hex diprefix dengan 0x: 0x2F4 = 756.

<bahagian kandungan

Tabel Konversi Hex ke Desimal

Rujukan cepat untuk mengubah digit hex tunggal dan nilai hex biasa ke desimal:

HexDesimalBinariArti Biasa
0x0000000 0000Byte kosong, palsu, mati
0x0110000 0001Benar, diaktifkan
0x0A100000 1010Karakter baris baru (LF)
0x0D130000 1101Carriage return (CR)
0x1F310001 1111Penanda unit
0x20320010 0000Karakter ruang (ASCII)
0x41650100 0001'A' dalam ASCII
0x61970110 0001'a' dalam ASCII (huruf kecil)
0x7F1270111 1111Karakter DEL; pasangan nibble tanda isyarat
0x801281000 0000Bit isyarat ditetapkan (negatif dalam byte tanda isyarat)
0xFF2551111 1111Byte tidak tanda isyarat; semua bit ditetapkan
0x1002561 0000 0000Satu lebih daripada byte maksimum
0xFFFF65,53516 satuNilai tidak tanda isyarat 16-bit maksimum
0xFFFFFF16,777,21524 satuNilai 24-bit (16M warna)

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

<bahagian kandungan

Arithmetik Hex: Penambahan, Pengurangan, Pemangkatan

Arithmetik hexadecimal mengikuti aturan yang sama seperti arithmetik desimal tetapi mengangkut dan meminjam pada 16 bukan 10. Memahami arithmetik hex penting untuk pengaturcaraan assemblasi, sistem terintegrasi, dan membaca keluaran pengaturcara.

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

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

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

Untuk pengiraan hex yang kompleks, mengubah ke desimal, mengira, dan mengubah semula sering lebih boleh dipercayai kecuali anda sangat berlatih. Walau bagaimanapun, memahami arithmetik hex membina kefahaman untuk susunan memori, register CPU, dan wakil data.

Hex dalam Reka Bentuk Web: Kod Warna

HTML dan CSS kod warna adalah salah satu aplikasi paling ketara hex di luar pengaturcaraan. Warna dinyatakan sebagai #RRGGBB di mana setiap saluran berkisar dari 00 (intensiti 0) ke FF (intensiti penuh). Ini memberikan 256³ = 16,777,216 warna yang mungkin.

Kod Warna HexMerahHijauBiruNama Warna
#FF000025500Merah tulen
#00FF0002550Hijau tulen (limau)
#0000FF00255Biru tulen
#FFFF002552550Kuning
#FF00FF2550255Magenta
#00FFFF0255255biru
#FFFFFF255255255Putih
#000000000Hitam
#808080128128128Abu-abu sederhana
#FF57332558751Merah jingga yang cerah

CSS juga menyokong kod hex 4 digit (#RGBA) dan 8 digit (#RRGGBBAA) di mana AA adalah saluran alfa (00 = tidak dapat dilihat, FF = tidak dapat dilihat). Bentuk singkat kod (#RGB) memperluaskan setiap digit: #F3A = #FF33AA.

Pengurus reka bentuk web sering mengubah warna dengan mengubah nilai hex. Menambahkan ke saluran merah membuat warna lebih hangat; mengurangkan membuat mereka lebih sejuk. Kod hex dengan nilai R, G, dan B yang sama selalu menghasilkan warna abu-abu. Warna seperti #7F7F7F adalah 50% abu-abu (127 daripada 255 pada setiap saluran).

<bahagian kandungan

Hex dalam Pengaturcaraan: Alamat Memori dan Manipulasi Bit

Dalam pengaturcaraan sistem, hex adalah bahasa semula jadi untuk alamat memori, bendera bit, dan pautan register. Setiap pengaturcara yang bekerja dalam C, C++, assemblasi, atau sistem terintegrasi akan bertemu dengan hex secara tetap.

Alamat memori: Pada sistem 32-bit, alamat berkisar dari 0x00000000 ke 0xFFFFFFFF (4 GB). Rang alamat biasa: 0x00000000–0x00FFFFFF (memori rendah), 0x7FFFFFFF (int positif 32-bit yang paling besar), 0x80000000 (permulaan ruang negatif dalam tafsiran tandatangan), 0xFFFFFFFF (int 32-bit yang tidak bertanda paling besar). Pada sistem 64-bit, ruang pengguna biasanya menempati 0x0000000000000000–0x00007FFFFFFFFFFF.

Manipulasi bit dengan masker hex: Operasi bit dinyatakan secara semula jadi dalam hex kerana ia menepati sempadan nibble.

OperasiEkspresiEffek
Atur bit 3x |= 0x08Forci bit 3 ke 1, biarkan yang lain tetap
Padam bit 3x &= ~0x08Forci bit 3 ke 0, biarkan yang lain tetap
Tukar bit 3x ^= 0x08Flip bit 3, biarkan yang lain tetap
Periksa bit 3(x & 0x08) != 0Ujian jika bit 3 telah ditetapkan
Ekstrak nibble rendahx & 0x0FCanai 4 bit bawah
Ekstrak nibble tinggi(x >> 4) & 0x0FCanai 4 bit atas byte

Tanda-tangan hex yang terkenal: Pengaturcara telah mencipta tanda-tangan yang teringat untuk pemantauan dan pengaturcaraan: 0xDEADBEEF (digunakan untuk menandakan memori yang tidak ditetapkan dalam sistem IBM lama), 0xCAFEBABE (nombor tanda kelas Java), 0xFEEDFACE (format binari Mach-O), 0x0BADF00D (penjaga memori pemantauan), 0xDEADC0DE (digunakan dalam deteksi kerosakan iOS). Tanda-tangan ini muncul tidak ambigu dalam cetakan hex, menjadikannya mudah dikesan semasa pemantauan.

<bahagian kandungan

Tanda-tangan Format Fail dan Forensik Hex

Setiap format fail mempunyai rentetan khas byte di awalnya yang dipanggil "nombor tanda" atau tanda-tangan fail. Pemfail hex dan alat forensik menggunakan tanda-tangan ini untuk mengenali jenis fail tanpa mengandalkan ekstensi fail. Mengetahui tanda-tangan fail adalah penting untuk pemulihan data, analisis malware, dan forensik digital.

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

Profesional keselamatan menggunakan hex untuk menganalisis fail binari tanpa mengandalkan ekstensi fail. Fail bernama "document.pdf" yang bermula dengan 4D 5A adalah sebenarnya fail eksekutif Windows — tipu daya malware yang biasa. Analisis hex paket rangkaian mendedahkan struktur protokol, kepala enkripsi, dan potensi eksploit.

Perbandingan Nombor Asas: Desimal, Biner, Oktal, Hex

Komputer menggunakan asas nombor yang berbeza untuk tujuan yang berbeza. Memahami bagaimana mereka berkaitan membantu dalam membaca dokumentasi teknikal, debugging, dan pengaturcaraan sistem.

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

Oktal (asas 8) pernah menjadi biasa dalam pengkomputan (ia muncul dalam hak akses fail Unix: chmod 755 = 111 101 101 dalam biner = rwxr-xr-x). Hex telah menggantikan oktal untuk kebanyakan tujuan kerana 4 bit setiap digit (hex) lebih sesuai dengan arsitektur moden 8-bit, 16-bit, 32-bit, dan 64-bit daripada 3 bit setiap digit (oktal).

Berapa Pertanyaan yang Sering Ditanya

Bagaimana saya boleh menukar antara hex dan binari dengan cepat?

Setiap digit hex mewakili 4 bit binari: 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 menukar 0xB7: B=1011, 7=0111 → 10110111₂. Untuk menukar 11001010₂: pecahkan menjadi nibble: 1100=C, 1010=A → 0xCA.

Kenapa CSS menggunakan hexadecimal?

CSS menggunakan hex kerana setiap saluran RGB (0-255) sesuai dengan tepat dalam 2 digit hex (00-FF). Format #RRGGBB adalah padat, tidak ambigu, dan terus menerus ke model warna 24-bit yang digunakan oleh peranti paparan. HTML menerima warna hex pada awal tahun 1990-an dari definisi warna X11, dan konvensyen ini telah kekal standard sejak itu.

Apakah 0xFF sama dengan nilai desimal?

0xFF = 15×16 + 15 = 240 + 15 = 255. Dalam binari, FF = 1111 1111, bermaksud semua 8 bit telah ditetapkan. 255 adalah nilai maksimum bagi byte tidak tanda (uint8), nilai maksimum intensiti bagi setiap saluran warna RGB, dan muncul secara berterusan dalam rangkaian (255.255.255.255 adalah alamat siaran) dan pengkomputan.

Apakah perbezaan antara 0x1F dan 0xF1?

Ini adalah nombor yang berbeza dengan digit yang sama dalam susunan yang berbeza. 0x1F = 1×16 + 15 = 31 desimal. 0xF1 = 15×16 + 1 = 241 desimal. Dalam binari: 0x1F = 0001 1111; 0xF1 = 1111 0001. Nilai posisi penting, sama seperti 19 ≠ 91 dalam desimal.

Berapa digit hex yang diperlukan untuk mewakili nombor 32-bit?

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

Apakah makna "0x" awal dalam nombor hex?

Prefix "0x" adalah konvensyen notasi digunakan dalam C dan kebanyakan bahasa pengaturcara untuk menunjukkan bahawa nombor yang mengikutnya adalah hexadecimal. "0x" bermaksud "hex" (huruf 'x' menunjukkan hexadecimal). Notasi lain: huruf 'h' di belakang dalam bahasa assembl (FFh), # di hadapan dalam CSS dan beberapa konteks (#FF0000), dan prefix $ dalam beberapa bahasa lama ($FF).

Bagaimana hex digunakan dalam alamat IP?

Alamat IPv4 (contohnya 192.168.1.1) boleh dinyatakan 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 menjadikan manipulasi alamat IPv6 dengan mudah menggunakan aritmetik hex.

Apakah editor hex dan apabila saya akan menggunakan satu?

Editor hex menunjukkan dan mengedit fail sebagai byte mentah dalam hexadecimal. Penggunaan biasa: mengesan tandatangan format fail untuk mengenali jenis fail, mengedit fail simpan permainan binari, mengembangkan semula perisian, menganalisis rekod rangkaian, mengembalikan data dari fail rosak, dan forensik digital. Editor hex popular termasuk HxD (Windows), hex fiend (Mac), dan xxd (perintah baris Unix).

Kenapa hexadecimal digunakan bukannya desimal dalam pengkomputan?

Kerana komputer beroperasi dalam binari (asas 2), dan 16 = 2⁴ — hex selaras sempurna dengan binari. Satu digit hex = 4 bit, dua digit hex = 1 byte (8 bit), empat digit hex = 16 bit, lapan digit hex = 32 bit. Desimal tiada keselesaan sedemikian dengan kuasa 2, menjadikan hex jauh lebih semulajadi untuk mengungkap data binari dengan padat.

Bagaimana saya boleh menukar warna hex ke nilai RGB?

Pecahkan warna 6-digit hex menjadi tiga kumpulan 2-digit: #RRGGBB. Menukar setiap satu daripada hex ke desimal. Contoh: #4A90E2 → R=0x4A=74, G=0x90=144, B=0xE2=226. Jadi warna ini adalah rgb(74, 144, 226) — biru sederhana. Untuk kebalikkan: menukar setiap nilai desimal ke 2-digit hex dan gabungkan: rgb(255, 87, 51) → #FF5733.

Hexadecimal dalam Rangkaian dan Protokol

Rangkaian komputer menggunakan hexadecimal secara meluas. Alamat MAC — pengenal hardware untuk antara muka rangkaian — ditulis sebagai 6 byte hex yang dipisahkan oleh titik dua atau tanda hyphen: contohnya, 00:1A:2B:3C:4D:5E. Tiga byte pertama (00:1A:2B) mengenal pengeluar (Pengenal Unik Organisasi, OUI), manakala tiga byte terakhir (3C:4D:5E) mengenal peranti khas.

Alamat IPv6 adalah 128 bit yang dinyatakan sebagai 8 kumpulan 4 digit hex: 2001:0DB8:AC10:FE01:0000:0000:0000:0000. Nol-nol awal dalam kumpulan boleh dihilangkan dan kumpulan semua-nol berterusan digabungkan dengan "::", memberikan 2001:DB8:AC10:FE01::. Memahami hex adalah penting untuk membaca alamat IPv6, mask lapisan sub, dan jadual laluan.

Frame Ethernet, paket IP, segmen TCP — semua mempunyai medan yang dinyatakan dalam hex dalam alat analisis rangkaian seperti Wireshark. Paket SYN TCP menunjukkan medan flag sebagai 0x002 (hanya bit SYN yang diset); paket SYN-ACK menunjukkan 0x012 (bit SYN + ACK yang diset). Membaca nilai hex ini secara langsung dari rekod paket adalah kemahiran asas untuk memecahkan masalah rangkaian.

Unicode dan Hex: Kod Pencetakan Karakter

Unicode, piawaian kod pencetakan karakter universal, mengenal setiap karakter dengan kod titik kod yang dinyatakan dalam hex. Peta Kod Pencetakan Multibahasa Asas meliputi U+0000 hingga U+FFFF. Contoh:

KarakterKod Titik Kod UnicodePencetakan UTF-8 (hex)Perkata
AU+004141Abjad besar Latin A
αU+03B1CE B1Abjad kecil Yunani alpha
U+20ACE2 82 ACSimbol euro
U+4E2DE4 B8 ADKarakter Cina "tengah"
😀U+1F600F0 9F 98 80Wajah tersenyum emoji
©U+00A9C2 A9Simbol hak cipta

Pencetakan UTF-8 mengenal karakter ASCII (U+0000 hingga U+007F) dalam 1 byte yang sama dengan nilai ASCII. 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. Pencetakan panjang yang berubah-ubah ini, semua dinyatakan dalam hex, adalah mengapa memahami hex membantu apabila memecahkan masalah kod teks dalam aplikasi web.