Konverter Biner ke Oktal

biner

Oktal masih hidup di izin file Unix (chmod 755), manual lama era PDP, dan beberapa toolchain mikrokontroler. Konverter ini mengambil string biner apa pun, mengelompokkan bit tiga per tiga dari kanan, dan memetakan setiap grup ke digit basis-8 antara 0 dan 7 - dengan opsi nol di depan untuk bahasa yang memperlakukan 0755 sebagai literal oktal.

Cara mengonversi biner ke oktal

  1. 1

    Masukkan nilai biner

    Spasi dibuang. Panjang apa pun boleh; grup paling kiri otomatis diberi padding nol sampai tiga bit.

  2. 2

    Kelompokkan bit bertiga dari kanan

    `111101100` menjadi `111 101 100`. Arah pengelompokan penting - selalu kanan-ke-kiri.

  3. 3

    Petakan tiap kelompok tiga bit

    000 = 0, 001 = 1, 010 = 2, sampai 111 = 7. Setiap kelompok tiga bit tepat menjadi satu digit oktal.

  4. 4

    Baca dan salin hasil

    Pilih digit mentah (`754`), bentuk dengan nol di depan (`0754`), atau bentuk dengan awalan `0o` (`0o754`) untuk kompatibilitas Python 3 dan Rust.

Peta kelompok tiga bit ke oktal

Biner Oktal
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Contoh: izin file Unix

rwxr-xr-x berarti pemilik punya baca/tulis/eksekusi, sedangkan grup dan lainnya punya baca/eksekusi. Dalam biner itu adalah 111 101 101, yang langsung berkelompok menjadi oktal 755 - angka persis yang Anda berikan ke chmod.

Kapan oktal berguna

  • Izin file: chmod 644, umask 022, stat -c %a semuanya bicara oktal.
  • Urutan escape: \100 di C adalah oktal untuk @ (64 desimal).
  • Kode mesin lama: Dokumen PDP-8, PDP-11, dan DEC awal mencantumkan opcode dalam oktal karena ukuran word mereka kelipatan 3 bit.
  • Kejelasan visual: pengelompokan tiga bit lebih cepat dibaca daripada biner tanpa alfabet lengkap milik heksadesimal.

Jebakan umum

  • Nol di depan berarti oktal di C: 0755 adalah oktal 755 (= desimal 493), 755 adalah desimal 755. Periksa bahasa Anda sebelum menempel.
  • JavaScript menghapus oktal lama: mode strict menolak 0755. Gunakan 0o755 sebagai gantinya.
  • Arah pengelompokan: jika Anda mengelompokkan kiri-ke-kanan, jawabannya salah untuk deret bit apa pun yang panjangnya bukan kelipatan 3.

Pertanyaan yang Sering Diajukan

Karena flag izin hadir dalam grup rapi berisi tiga (baca, tulis, eksekusi) per peran (pemilik, grup, lainnya). Setiap kelompok tiga bit memetakan 1-ke-1 ke digit oktal, sehingga rwxr-xr-x terbaca sebagai 755 dalam satu langkah.

Untuk C, Perl, dan shell gunakan 0 di depan. Untuk Python 3, Rust, dan Swift gunakan 0o. Untuk chmod di baris perintah, jangan gunakan awalan.

Bilangan negatif membutuhkan lebar bit bertanda (komplemen dua). Tentukan lebarnya dulu; jika tidak, konverter memperlakukan semua masukan sebagai tak bertanda.

Tidak. Konverter memberi padding nol pada grup paling kiri hingga tiga bit. 1111 menjadi 001 111, yaitu oktal 17.

Alat Terkait