Oktalzahl

Aus C64-Wiki
Wechseln zu: Navigation, Suche

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]

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]

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]

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]

WP-W11.png Wikipedia: Oktalzahl