Kalkulator Penukaran Asas
Tukar nombor bulat kepada binari, oktal, perpuluhan, dan heksadesimal.
Cara menggunakan kalkulator penukaran asas ini
- Masukkan nombor bulat
Taip integer bukan negatif ke dalam medan Nombor bulat (cth. 255 atau 4096).
- Baca nilai binari
Keputusan nilai Binari menunjukkan perwakilan asas-2.
- Semak oktal dan heks
Semak keputusan Oktal dan Heksadesimal untuk perwakilan yang ringkas.
- Sahkan perpuluhan
Output Perpuluhan mengesahkan nilai asal untuk semakan silang.
Cara kalkulator penukaran asas ini berfungsi
Kalkulator penukaran asas ini mengambil nombor bulat dalam desimal (asas 10) dan mewakilkannya dalam binari (asas 2), oktal (asas 8), dan heksadesimal (asas 16) — empat sistem angka yang paling kerap digunakan dalam pengkomputeran. Setiap sistem nombor kedudukan berfungsi dengan cara yang sama: setiap kedudukan digit mewakili kuasa asas yang berturutan, dan nilai nombor tersebut adalah jumlah setiap digit didarab dengan pemberat kedudukannya. Penukaran antara asas adalah operasi asas dalam pengaturcaraan tahap rendah, reka bentuk logik digital, kejuruteraan rangkaian (alamat MAC dan IPv6), kod warna dalam CSS, topeng kebenaran fail dalam Unix, dan pemeriksaan alamat memori semasa penyahpepijatan.
Pembahagian berulang: bahagikan N dengan radiks sasaran R, catat baki, ulangi dengan hasil bahagi sehingga mencapai 0, kemudian baca baki dalam susunan terbalik Tukarkan nombor perpuluhan 255 kepada binari, oktal, dan heksadesimal. Untuk binari (R = 2): 255 ÷ 2 = 127 baki 1, 127 ÷ 2 = 63 B 1, 63 ÷ 2 = 31 B 1, 31 ÷ 2 = 15 B 1, 15 ÷ 2 = 7 B 1, 7 ÷ 2 = 3 B 1, 3 ÷ 2 = 1 B 1, 1 ÷ 2 = 0 B 1. Membaca baki dari bawah ke atas: 11111111. Untuk oktal (R = 8): 255 ÷ 8 = 31 B 7, 31 ÷ 8 = 3 B 7, 3 ÷ 8 = 0 B 3 → 377. Untuk heksadesimal (R = 16): 255 ÷ 16 = 15 B 15 (F), 15 ÷ 16 = 0 B 15 (F) → FF.
Perpuluhan 4096 → binari 1000000000000, oktal 10000, heks 1000. Berguna untuk memahami 4 KiB = 4096 bait.
Perpuluhan 15 → binari 1111, oktal 17, heks F. Setiap digit heks memetakan kepada tepat empat bit; F = 1111.
- ✓ Input mestilah nombor bulat bukan negatif (sifar atau integer positif). Nilai pecahan dan nombor negatif memerlukan algoritma lanjutan (cth. pelengkap dua untuk binari bertanda) yang berada di luar skop alat ini.
- ✓ Digit heksadesimal melebihi 9 diwakili menggunakan huruf besar A–F, mengikut konvensyen dalam kebanyakan bahasa pengaturcaraan, RFC, dan dokumentasi perkakasan.
- ✓ Sifar di hadapan diabaikan daripada hasil. Untuk perwakilan lebar tetap (cth. binari 8-bit atau 32-bit), tambah sifar secara manual pada hasil mengikut lebar yang dikehendaki.
- ✓ Kalkulator ini hanya menerima nombor bulat bukan negatif. Nilai melebihi 2^53 − 1 (Number.MAX_SAFE_INTEGER JavaScript) ditolak supaya digit yang dipaparkan kekal tepat.
- Setiap digit heksadesimal dipetakan kepada tepat empat digit binari (bit), dan setiap digit oktal dipetakan kepada tepat tiga bit. Hubungan ini menjadikan penukaran mental antara heks, oktal, dan binari pantas sebaik sahaja anda menghafal 16 corak nibble.
- Nilai biasa yang patut dihafal: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4,294,967,295 (integer 32-bit tanpa tanda maksimum).
- Keizinan fail Unix menggunakan oktal: 755 bermaksud rwxr-xr-x (pemilik baca/tulis/laksana, kumpulan dan lain-lain baca/laksana). Setiap digit oktal mengekod tiga bit keizinan.
- Kod warna heks CSS ialah tiga nilai bait heksadesimal yang digabungkan mewakili saluran merah, hijau, dan biru — cth., #FF8800 ialah 255 merah, 136 hijau, 0 biru.
- Teori sistem angka kedudukan — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Seksyen 4.1
- IEEE 754-2019 — Standard untuk Aritmetik Titik Apung (konteks perwakilan integer)
- RFC 4291 — Seni Bina Pengalamatan IP Versi 6 (notasi heksadesimal untuk IPv6)
Memahami sistem angka dalam pengkomputeran
Setiap sistem nombor kedudukan menggunakan asas (radiks) dan memberikan setiap digit pemberat berdasarkan kedudukannya. Dalam perpuluhan (asas 10), digit paling kanan ialah sa, seterusnya puluh, kemudian ratus. Binari (asas 2) hanya menggunakan 0 dan 1, memetakan terus kepada keadaan transistor hidup/mati. Oktal (asas 8) mengumpulkan tiga bit bagi setiap digit, dan heksadesimal (asas 16) mengumpulkan empat bit bagi setiap digit, menggunakan A–F untuk nilai 10–15. Penukaran antara asas menggunakan pembahagian berulang: bahagikan nombor dengan radiks sasaran, catat baki, ulangi dengan hasil bahagi sehingga sifar, kemudian baca baki dalam susunan terbalik. Algoritma ini mendasari semua penukaran asas dalam pengaturcaraan.
Kes penggunaan praktikal pembangun untuk penukaran asas
Pembangun menggunakan penukaran asas semasa memeriksa longgokan memori, menyahpepijat operasi bitwise, mentafsir kebenaran fail, dan bekerja dengan kod warna. Kebenaran fail Unix (cth. 755) adalah oktal: setiap digit mengekod baca/tulis/laksana untuk pemilik, kumpulan, dan lain-lain. Warna heks CSS seperti #FF8800 ialah tiga bait yang dicantumkan dalam heksadesimal. Alamat IPv6 ditulis dalam heks. Topeng bit dan bendera sering dinyatakan dalam heks untuk kebolehbacaan (0xFF untuk topeng bait, 0xFFFF untuk 16 bit). Apabila menyahpepijat kod tahap rendah atau protokol rangkaian, penukaran antara perpuluhan, heks, dan binari mendedahkan corak bit asas dengan cepat.
Soalan Lazim kalkulator penukaran asas
Mengapakah binari, oktal, dan heksadesimal digunakan dalam pengkomputeran?
Binari dipetakan terus kepada keadaan hidup/mati transistor, menjadikannya bahasa asli perkakasan. Oktal dan heksadesimal ialah singkatan padat untuk binari — satu digit heks mewakili tepat empat bit dan satu digit oktal mewakili tiga bit — jadi pengaturcara menggunakannya untuk menyatakan alamat, topeng bit, dan kod warna dengan lebih ringkas berbanding rentetan binari yang panjang.
Bagaimanakah cara saya menukar ke arah yang lain (cth., heks ke perpuluhan)?
Darabkan setiap digit dengan kuasa kedudukan asasnya dan jumlahkan hasilnya. Contohnya, heks 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 dalam perpuluhan.
Apakah yang berlaku dengan nombor yang sangat besar?
Kalkulator ini hanya menerima nilai sehingga had integer selamat JavaScript: 2^53 − 1 (9,007,199,254,740,991). Nombor yang lebih besar ditolak kerana ia boleh kehilangan digit paling tidak bererti dalam pelayar.
Bolehkah saya menukar nombor negatif atau pecahan?
Alat ini mengendalikan nombor bulat bukan negatif. Integer negatif dalam pengkomputeran biasanya diwakili menggunakan pelengkap dua dalam lebar bit tetap, dan nilai pecahan menggunakan pengekodan titik terapung IEEE 754 — kedua-duanya memerlukan parameter tambahan yang tidak dikumpul oleh kalkulator ini.
Mengapakah awalan 0x muncul dalam kod tetapi tidak dalam output?
Awalan 0x (dan 0b untuk binari, 0o untuk oktal) ialah sintaks literal khusus bahasa yang memberitahu penyusun atau penterjemah asas mana yang dijangkakan. Kalkulator ini mengeluarkan rentetan digit mentah tanpa awalan supaya ia boleh digunakan dalam sebarang konteks.