Convertitore da binario a ottale

Binario

L’ottale è ancora vivo nei permessi dei file Unix (chmod 755), nei vecchi manuali dell’era PDP e in un numero limitato di toolchain per microcontrollori. Questo convertitore prende qualsiasi stringa binaria, raggruppa i bit tre alla volta da destra e mappa ogni gruppo a una cifra in base 8 tra 0 e 7 — con un prefisso di zeri opzionale per i linguaggi che trattano 0755 come un letterale ottale.

Come convertire da binario a ottale

  1. 1

    Inserisci il valore binario

    Gli spazi vengono rimossi. Qualsiasi lunghezza va bene; il gruppo più a sinistra viene automaticamente riempito con zeri fino a tre bit.

  2. 2

    Raggruppa i bit in terzine da destra

    `111101100` diventa `111 101 100`. La direzione del raggruppamento è importante — sempre da destra a sinistra.

  3. 3

    Mappa ogni terzina

    000 = 0, 001 = 1, 010 = 2, fino a 111 = 7. Ogni terzina mappa esattamente a una cifra ottale.

  4. 4

    Leggi e copia il risultato

    Scegli cifre grezze (`754`), un prefisso di zeri (`0754`) o un prefisso `0o` (`0o754`) per la compatibilità con Python 3 e Rust.

Mappa terzina a ottale

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

Esempio: permessi Unix

rwxr-xr-x significa che il proprietario ha lettura/scrittura/esecuzione, il gruppo e gli altri hanno lettura/esecuzione. In binario è 111 101 101, che si raggruppa direttamente in ottale 755 — il numero esatto che passi a chmod.

Quando l’ottale è utile

  • Permessi dei file: chmod 644, umask 022, stat -c %a parlano tutti in ottale.
  • Sequenze di escape: \100 in C è ottale per @ (64 decimale).
  • Codici macchina legacy: PDP-8, PDP-11 e i primi documenti DEC elencano gli opcode in ottale perché la loro dimensione di parola era un multiplo di 3 bit.
  • Chiarezza visiva: il raggruppamento in tre bit si legge più velocemente rispetto al binario senza l’intero alfabeto esadecimale.

Attenzione

  • Zero iniziale significa ottale in C: 0755 è ottale 755 (= decimale 493), 755 è decimale 755. Controlla il tuo linguaggio prima di incollare.
  • JavaScript ha rimosso l’ottale legacy: la modalità rigorosa rifiuta 0755. Usa invece 0o755.
  • Direzione del raggruppamento: se raggruppi da sinistra a destra otterrai una risposta errata per qualsiasi flusso di bit la cui lunghezza non è un multiplo di 3.

Domande frequenti

Perché i flag di permesso vengono in gruppi ordinati di tre (lettura, scrittura, esecuzione) per ruolo (utente, gruppo, altro). Ogni terzina mappa 1-a-1 a una cifra ottale, quindi rwxr-xr-x si legge come 755 in un solo passaggio.

Per C, Perl e shell usa un 0 iniziale. Per Python 3, Rust e Swift usa 0o. Per chmod nella riga di comando non usare prefissi.

I numeri negativi richiedono una larghezza di bit con segno (complemento a due). Specifica prima la larghezza; altrimenti il convertitore tratta tutto l’input come senza segno.

No. Il convertitore riempie di zeri il gruppo più a sinistra fino a tre bit. 1111 diventa 001 111, che è ottale 17.

Strumenti correlati