Binair naar octaal-converter

Binair

Octaal leeft nog steeds in Unix-bestandspermissies (chmod 755), oude handleidingen uit het PDP-tijdperk en een paar microcontroller-toolchains. Deze converter neemt elke binaire string, groepeert de bits drie tegelijk vanaf rechts en mapt elke groep naar een cijfer met grondtal 8 tussen 0 en 7 — met optionele voorloopnul-prefix voor talen die 0755 als octale literal behandelen.

Binair naar octaal converteren

  1. 1

    Voer de binaire waarde in

    Spaties worden gestript. Elke lengte is prima; de meest linkse groep wordt automatisch naar drie bits met nullen gepad.

  2. 2

    Groepeer bits per drie vanaf rechts

    `111101100` wordt `111 101 100`. De groepeerrichting telt — altijd rechts naar links.

  3. 3

    Map elk triplet

    000 = 0, 001 = 1, 010 = 2, tot 111 = 7. Elk triplet mapt naar precies een octaal cijfer.

  4. 4

    Lees en kopieer het resultaat

    Kies ruwe cijfers (`754`), een voorloopnul-prefix (`0754`) of een `0o`-prefix (`0o754`) voor Python 3- en Rust-compatibiliteit.

Triplet naar octaal-map

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

Voorbeeld: Unix-permissies

rwxr-xr-x betekent dat de eigenaar lezen/schrijven/uitvoeren heeft, en groep en anderen lezen/uitvoeren. In binair is dat 111 101 101, wat direct groepeert naar octaal 755 — exact het getal dat je aan chmod geeft.

Wanneer octaal nuttig is

  • Bestandspermissies: chmod 644, umask 022, stat -c %a praten allemaal octaal.
  • Escapereeksen: \100 in C is octaal voor @ (64 decimaal).
  • Oude machinecodes: PDP-8, PDP-11 en vroege DEC-documentatie vermelden opcodes in octaal omdat hun woordgrootte een veelvoud van 3 bits was.
  • Visuele helderheid: drie-bit groepering leest sneller dan binair zonder het volledige alfabet van hexadecimaal.

Valkuilen

  • Voorloopnul betekent octaal in C: 0755 is octaal 755 (= decimaal 493), 755 is decimaal 755. Check je taal voordat je plakt.
  • JavaScript heeft het oude octaal verwijderd: strikte modus weigert 0755. Gebruik in plaats daarvan 0o755.
  • Groepeerrichting: als je links-naar-rechts groepeert, krijg je een verkeerd antwoord voor elke bitstream waarvan de lengte geen veelvoud van 3 is.

Veelgestelde vragen

Omdat permissievlaggen in nette groepen van drie komen (lezen, schrijven, uitvoeren) per rol (eigenaar, groep, overige). Elk triplet mapt een-op-een naar een octaal cijfer, dus rwxr-xr-x lees je in een stap als 755.

Gebruik voor C, Perl en shells een voorloop-0. Gebruik voor Python 3, Rust en Swift 0o. Gebruik voor chmod op de opdrachtregel geen prefix.

Negatieve getallen vereisen een bitbreedte met teken (twee-complement). Geef eerst de breedte op; anders behandelt de converter alle invoer als zonder teken.

Nee. De converter padt de meest linkse groep met nullen tot drie bits. 1111 wordt 001 111, wat octaal 17 is.

Gerelateerde tools