Oktalzahl

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Oktalzahlen sind zwar heutzutage nicht mehr so gebräuchlich, aber werden heutzutage ebenfalls bei der Programmierung und bei Dateizugriffsrechten unter Unix genutzt. Das Oktalzahlensystem besteht aus den Zahlen 0 bis 7 und somit lassen sich jeweils 3 Bits zu einer Oktalzahl zusammenfassen. Um Verwechslungen mit anderen Zahlensystemen (Dezimal- oder Hexadezimalsystem) zu vermeiden, werden Oktalzahlen entsprechend gekennzeichnet, bei Assembler und Maschinensprachemonitoren im Commodore-Umfeld ist dafür das Präfix & üblich.
Beispiel: &10

Lange Dualzahlen lassen sich schnell in Oktalzahlen zerlegen, indem von rechts nach links diese in 3 Bit-Pakete zerlegt werden

Oktalzahl Dualzahl Dezimalzahl
00 000.000 0
01 000.001 1
02 000.010 2
03 000.011 3
04 000.100 4
05 000.101 5
06 000.110 6
07 000.111 7
10 001.000 8
11 001.001 9
12 001.010 10
13 001.011 11
14 001.100 12
15 001.101 13
16 001.110 14
17 001.111 15
20 010.111 16

Umrechnungen[Bearbeiten | Quelltext bearbeiten]

Für Programmierer interessant sind Umrechnungsmethoden, d.h. wie lässt sich eine Hexadezimalzahl in eine Dezimalzahl umwandeln bzw. welche Dezimalzahl ergibt sich aus einer gegebenen Hexadezimalzahl.

Oktal- in Dezimalzahl:[Bearbeiten | Quelltext bearbeiten]

Als Beispiel nehmen wir oben genannte Oktalzahl 231:

PRINT "DEZIMALZAHL: "2*8↑2+3*8↑1+1*8↑0
Und die Bildschirmausgabe sagt: DEZIMALZAHL: 153


Dezimal- als Oktalzahl:[Bearbeiten | Quelltext bearbeiten]

Die Umwandlung einer Dezimalzahl in einer Oktalzahl ist etwas schwieriger. Eine einfache Methode ist die Divisionsmethode. Die Dezimalzahl wird hierbei solange durch die Basis 8 geteilt bis das Ergebnis 0 ist, wobei jeweils der Rest notiert wird, der umgekehrt gelesen die Oktalzahl ergibt.

153 : 8 = 19 Rest  ..1
019 : 8 = 2 Rest  .3
002 : 8 = 0 Rest  2
-----------------------
Ergibt Oktalzahl: 231


Links[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: Oktalzahl