Konverter basis bilangan

Konversi bilangan bulat antara biner, oktal, desimal, heksadesimal, dan basis apa pun hingga 36.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah, dicatat, atau disimpan.

Spasi, garis bawah, dan awalan 0x atau 0b diabaikan.

Hasil konversi

255

Biner (2)
11111111
Oktal (8)
377
Desimal (10)
255
Heksadesimal (16)
FF

Bilangan yang sama bisa ditulis dalam basis apa pun, dan basis mana yang Anda temui bergantung pada tempat Anda melihat: heksadesimal di dump memori, biner di mask izin, oktal di mode file, desimal di tempat lainnya. Alat ini mengonversi di antara semuanya.

Cara kerja

Digitnya dari 0 sampai 9 lalu dari A sampai Z, yang memungkinkan basis hingga 36. Huruf besar-kecil diabaikan pada input, jadi ff dan FF adalah bilangan yang sama.

Konversi dilakukan dengan pembagian berulang pada digit-digit itu sendiri, alih-alih mengubah input menjadi bilangan bulat mesin terlebih dahulu. Itu lebih penting daripada kelihatannya: hash 64 bit atau pengenal 128 bit adalah jenis nilai yang sering ditempelkan orang ke konverter basis, dan apa pun yang melewati bilangan floating-point akan dibulatkan diam-diam setelah sekitar enam belas digit.

Hanya bilangan bulat, dan tanpa tanda negatif. Pecahan dalam basis lain adalah persoalan lain dengan pembulatannya sendiri, dan menjawabnya sambil lalu akan menghasilkan angka yang tampak tepat padahal tidak.

Contoh

Kasus Masukan Hasil
Satu byte dalam heksadesimal ff from base 16 255 in decimal, 11111111 in binary
Mode file Unix 755 from base 8 493 in decimal, 111101101 in binary
Lebih besar dari bilangan bulat mesin, tetapi tetap tepat ffffffffffffffffffffffff from base 16 79228162514264337593543950335

Pertanyaan umum

Apakah bilangan lebih dari 64 bit didukung?

Ya. Aritmetikanya dilakukan pada string digit, jadi panjang bukan batasan dan tidak ada yang dibulatkan. Coba digest SHA-256 lengkap dalam basis 16 lalu baca kembali dalam basis 10.

Mengapa bilangan negatif tidak diterima?

Karena cara menulis bilangan negatif bergantung pada konvensi yang tidak bisa diketahui alat ini: tanda minus, komplemen dua dengan lebar tertentu, atau bit tanda. Memilih salah satunya diam-diam akan memberi jawaban yang meyakinkan tetapi salah untuk dua konvensi lainnya.

Apakah awalan 0x dan 0b diperbolehkan?

Ya, begitu pula spasi dan garis bawah. Semua itu notasi, bukan digit — 1010 1100 dan 1010_1100 adalah bilangan yang sama — jadi dihapus sebelum dibaca.

Mengapa berhenti di basis 36?

Karena di situlah digitnya habis: sepuluh angka dan dua puluh enam huruf. Lebih dari itu memerlukan alfabet yang harus disepakati dulu, seperti yang dilakukan basis 58 dan basis 64 dengan caranya masing-masing.

Perlu diketahui

  • Hanya bilangan bulat, dan tanpa tanda. Pecahan dalam basis lain memerlukan aturan pembulatan, dan bilangan negatif memerlukan konvensi — tanda minus, atau komplemen dua dengan lebar tertentu — yang tidak bisa ditebak alat ini hanya dari input.
  • Empat basis yang umum selalu ditampilkan di samping basis yang Anda minta, karena nilai yang ingin Anda bandingkan biasanya salah satunya.

Semua alat Kode