Decimaal naar octaal omrekenaar

Decimaal

Octaal is het talstelsel met basis 8 dat je het vaakst tegenkomt in Unix-bestandsrechten (chmod 755) en in oudere programmeertalen. Deze omrekenaar zet elk decimaal geheel getal om naar de octale vorm. De handleiding hieronder legt de methode van delen door 8 uit, zodat je het resultaat handmatig kunt controleren.

Hoe je een decimaal getal omzet naar octaal

  1. 1

    Voer een decimaal geheel getal in

    Typ een willekeurig geheel getal, bijvoorbeeld 255 of 4096.

  2. 2

    Lees het octale resultaat

    De octale cijfers verschijnen direct, zonder voorvoegsel, klaar om te kopiëren.

  3. 3

    Leer de methode

    De handleiding hieronder legt het delen door 8 uit en de stapel resten die de octale cijfers vormt, zodat je het resultaat handmatig kunt controleren.

  4. 4

    De regel voor negatieve getallen

    Negatieve getallen worden omgezet als 64-bits tweecomplement, dezelfde uitvoer als het `%o`-formaat van C.

Hoe de deling door 8 de octale cijfers opbouwt

Om een decimaal getal naar octaal om te zetten, blijf je delen door 8 en verzamel je de resten van onderen naar boven:

83 / 8 = 10 rest 3
10 / 8 = 1  rest 2
 1 / 8 = 0  rest 1
Lees van onder naar boven: 123

Dus 83 decimaal is gelijk aan 123 octaal. Elk octaal cijfer beslaat precies drie bits; daarom duikt octaal op in de Unix-rechtennotatie, waar drie bits het lezen, schrijven en uitvoeren voor elke gebruikersklasse coderen.

Kernwaarden

Decimaal Octaal Context
7 7 Grootste enkele octale cijfer
8 10 Eerste tweecijferige octale waarde
64 100 Eerste driecijferige octale waarde
511 777 Maximale 9-bitswaarde, volledige Unix-rechten
4.096 10000 Eerste vijfcijferige octale waarde

Spiekbriefje Unix-rechten

De bekende chmod-getallen zijn octaal: elk cijfer is een driebitsmasker voor de eigenaar, de groep en alle anderen.

  • 4 staat voor lezen (read)
  • 2 staat voor schrijven (write)
  • 1 staat voor uitvoeren (execute)

Dus 755 betekent dat de eigenaar 7 (rwx) heeft, en de groep en de rest van de wereld elk 5 (r-x). 644 betekent dat de eigenaar rw- heeft en alle anderen r--.

Valkuil: de voorloopnul

In C betekent een voorloopnul octaal: int x = 010; kent 8 toe, niet 10. JavaScript heeft die conventie afgeschaft omdat ze iedereen in verwarring bracht. Python liet ze vallen in 3.0. Als je codebase modern is, gebruik dan liever het voorvoegsel 0o om stille fouten met een factor acht te voorkomen.

Veelgestelde vragen

Omdat basis 8 precies acht geldige cijfers per positie heeft. Het cijfer 8 kan net zomin in octaal bestaan als 10 in decimaal kan bestaan; bereikt een rest 8, dan wordt die in de volgende kolom 10.

Zelden. Sommige embedded systemen en oudere bestandsformaten leunen nog op octaal, maar voor het meeste moderne werk heeft hexadecimaal het vervangen, omdat één hexcijfer netjes overeenkomt met vier bits (een halve byte) in plaats van drie.

Nee. Deze omrekenaar werkt alleen met hele getallen. Typ je een waarde met een decimale punt, dan wordt alleen het gehele deel omgezet: 12.9 geeft hetzelfde resultaat als 12. Een decimale komma wordt niet herkend.

De omrekening wordt op de server berekend. Het getal dat je invoert wordt dus verzonden als onderdeel van de pagina-interactie en kan in de link staan wanneer je tussen de stappen van de tool navigeert. Het wordt niet opgeslagen en niet met derden gedeeld.

Gerelateerde tools

Tool beschikbaar in andere talen