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. De uitvoer is een gewone octale reeks zonder prefix; als je doeltaal een voorloopnul (0755) of een 0o-prefix (0o755) verwacht, voeg je die zelf toe.

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

    Het resultaat is een gewone octale reeks zoals `754`, zonder prefix. Als je doeltaal een voorloopnul (`0754`) of een `0o`-prefix (`0o754`) nodig heeft, voeg je die zelf toe.

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.

De uitvoer hier is een gewone reeks zonder prefix. Gebruik je de waarde in code, volg dan de doeltaal: C, Perl en shells verwachten een voorloop-0, Python 3, Rust en Swift verwachten 0o, en chmod op de opdrachtregel gebruikt geen prefix.

Negatieve getallen vereisen een bitbreedte met teken (tweecomplement), en deze converter heeft geen breedteoptie: alle invoer wordt als zonder teken behandeld. Schrijf een negatieve waarde eerst als een tweecomplementpatroon met vaste breedte en converteer dan dat patroon.

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

Gerelateerde tools

Tool beschikbaar in andere talen