Wikipedia · einfach zusammengefasst · Stand
Oktalsystem
Das Oktalsystem (von lateinisch octo ‚acht') ist ein Stellenwertsystem mit der Basis 8 (daher auch Achtersystem genannt). Es kennt acht Ziffern zur …
Inhalt6 Abschnitte
Grundprinzip des Achtersystems
Das Oktalsystem ist ein Stellenwertsystem zur Darstellung von Zahlen mit der Basis 8. Es verwendet ausschließlich die acht Ziffern 0, 1, 2, 3, 4, 5, 6 und 7. Der Wert einer Ziffer hängt von ihrer Stelle ab: Von rechts nach links stehen die Stellen für 8⁰, 8¹, 8² usw.
Die Folge beginnt daher 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, …: Die oktale Zahl 10 entspricht der Dezimalzahl 8. Beispielsweise entsprechen die Oktalzahlen 16, 17 und 20 den Dezimalzahlen 14, 15 und 16.
Zählen und Übertrag
Beim Zählen erfolgt der Übertrag bereits nach der Ziffer 7, weil es keine Ziffern 8 und 9 gibt. Deshalb gilt im Oktalsystem 7 + 1 = 10. Nach 17 folgt 20, nach 77 folgt 100 und nach 777 folgt 1000.
Mündliche Zahlwortsysteme mit der Basiszahl 8 sind äußerst selten. Als bekannte Sprachen werden Mech und Yuki genannt.
Verwendung in Technik und Luftfahrt
In der Computertechnik entspricht jede Oktalziffer genau drei Bit. Eine Binärzahl lässt sich deshalb einfach in Oktalform umwandeln, indem ihre Bits von rechts aus in Dreiergruppen eingeteilt werden. So werden die Ziffern der Oktalzahl 16 einzeln binär dargestellt: 1 als 001 und 6 als 110.
Oktalzahlen werden bei Unix noch für Dateizugriffsrechte verwendet: Je drei Bit beschreiben die Rechte einer Benutzerklasse, etwa bei chmod. Früher waren sie für 24-Bit-Datenwörter nützlich, weil acht Oktalziffern genau diesen Wertebereich abdecken. Bei heute üblichen Wortlängen von 16, 32 und 64 Bit ist das Hexadezimalsystem für Ein- und Ausgabe geeigneter.
Beim Apollo Guidance Computer wurden Daten und Adressen oktal dargestellt, vermutlich wegen der Wortbreite von 15 Bit: Ein Wort kann dann durch fünf Oktalziffern beschrieben werden. In Flugzeugen ist der Transpondercode (Squawk) eine vierstellige Oktalzahl von 0000 bis 7777.
Kennzeichnung von Oktalzahlen
Damit eine Zahl nicht mit einer Dezimalzahl verwechselt wird, kann ihre Basis angegeben werden. In der Mathematik schreibt man zum Beispiel 172₍8₎ = 122₍10₎; auch 172o ist gebräuchlich.
Je nach Programmiersprache und Konvention gibt es weitere Schreibweisen: 0172 in C, C++, Java und vielen davon abgeleiteten Sprachen, 0o715 in Python 3, 8#172# in Ada, ein vorangestelltes Hochkomma in TeX und @715 nach Motorola-Konvention. In C, Java und Python bis Version 2.x kennzeichnet eine vorangestellte 0 eine Oktalzahl. Daher ist 0715 nicht dasselbe wie 715.
Ganze Zahlen umrechnen
Um eine positive Dezimalzahl in eine Oktalzahl umzuwandeln, wird sie wiederholt durch 8 geteilt. Die Reste werden von unten nach oben gelesen. Für 122₍10₎ gilt: 122 : 8 = 15 Rest 2, 15 : 8 = 1 Rest 7 und 1 : 8 = 0 Rest 1. Daraus folgt 122₍10₎ = 172₍8₎.
Für die Umwandlung einer Oktalzahl in eine Dezimalzahl wird jede Ziffer mit der passenden Potenz von 8 multipliziert. Bei 172₍8₎ lautet die Rechnung 1 · 8² + 7 · 8¹ + 2 · 8⁰ = 122₍10₎. Mit dem Horner-Schema, einer verschachtelten Rechenform zur Verringerung der Multiplikationen, ergibt sich (1 · 8 + 7) · 8 + 2 = 122₍10₎.
Brüche und reelle Zahlen
Wie in anderen Stellenwertsystemen können rationale und reelle Zahlen auch oktal dargestellt werden. Im deutschsprachigen Raum trennt gewöhnlich ein Komma den ganzzahligen vom gebrochenen Anteil. Die Stellen nach dem Komma haben die Werte 8⁻¹, 8⁻² usw. Daher ist 34,56₍8₎ = 3 · 8¹ + 4 · 8⁰ + 5 · 8⁻¹ + 6 · 8⁻² = 28,71875₍10₎.
Den gebrochenen Anteil einer Dezimalzahl wandelt man um, indem man ihn fortwährend mit 8 multipliziert und jeweils den ganzzahligen Teil als nächste Oktalziffer notiert. Aus 0,3984375₍10₎ entstehen 3,1875, dann 1,5 und schließlich 4,0; somit gilt 0,3984375₍10₎ = 0,314₍8₎.
Der Vorgang kann unendlich weitergehen und periodische Ziffern liefern: 0,2₍10₎ = 0,14631463…₍8₎ = 0,¯1463₍8₎. Jede rationale Zahl r besitzt eine endliche oder unendliche periodische Oktalbruchentwicklung. Für einen gekürzten Bruch r = p/q ist sie genau dann endlich, wenn q eine Zweierpotenz ist. Darstellungen sind nicht immer eindeutig: 1 = 0,777…₍8₎ = 0,¯7₍8₎.