Oktalsystem

aus Wikipedia, der freien Enzyklopädie

Das Oktalsystem (von lateinisch octoacht‘) ist ein Stellenwertsystem mit der Basis 8 (daher auch Achtersystem genannt). Es kennt acht Ziffern zur Darstellung einer Zahl: 0, 1, 2, 3, 4, 5, 6 und 7.

Seine Ursprünge finden sich im Schweden des 17. Jahrhunderts; als Urheber kommen König Karl XII., der Wissenschaftler Emanuel Swedenborg oder der Erfinder Christopher Polhem in Frage.

oktal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31
dezimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
binär (dual) 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001
hexadezimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19

Zählen im Oktalsystem

Beim Zählen im Oktalsystem ist zu beachten, dass nach 7 nicht die 8 folgt, sondern eine Stelle weiter links erhöht werden muss. Im Oktalsystem gilt: 7 + 1 = 10. Die Anwendung dieser Regel wird im Folgenden verdeutlicht:

0 1 2 3 4 5 6 7
10 11 12 13 14 15 16 17
20 21 22 23 24 25 26 27
... ... ... ... ... ... ... ...
70 71 72 73 74 75 76 77
100 ... ... ... ... ... ... 107
110 ... ... ... ... ... ... 117
... ... ... ... ... ... ... ...
770 ... ... ... ... ... ... 777

Anwendungen

Computertechnik

Jede Ziffer einer Oktalzahl kann durch drei Bit dargestellt werden. Umgekehrt kann aus einer Binärzahl durch Gruppierung von jeweils drei Bit leicht eine Oktalzahl erzeugt werden. Um beispielsweise die Oktalzahl 16 im Binärsystem darzustellen müssen lediglich die einzelnen Oktalziffern 1 und 6 in Binärzahlen überführt werden:

oktal 1 6
binär 0 0 1 1 1 0

Oktalzahlen werden heute noch bei der Darstellung von Dateizugriffsrechten unter Unix verwendet, wo je drei Bit die Rechte einer Benutzerklasse darstellen (siehe chmod). Als noch Datenwörter von 24 Bit Länge gebräuchlich waren, deren Wertebereich genau dem einer achtstelligen Oktalzahl entsprach, wurden Oktalzahlen zur Eingabe und Ausgabe von Bitmustern verwendet, da sie für den Menschen übersichtlicher sind als Dualzahlen und weil die Umwandlung vom und ins Binärsystem einfach ist. Für die jetzt üblichen Datenwortlängen 16, 32 und 64 ist das Hexadezimalsystem für Eingabe und Ausgabe das geeignetere. Relativ oft werden Zeichen (8 Bit) oktal dargestellt.

Luftfahrt

Der Transpondercode (Squawk) in jedem Flugzeug ist eine vierstellige Oktalzahl (0000 bis 7777).

Kennzeichnung

Oktalzahlen werden häufig durch ein nachgestelltes o gekennzeichnet (auch bekannt als Intel-Konvention). In den Programmiersprachen C, Java und Python (Versionen bis 2.x) wird eine 0 (Null) vorangestellt, um eine Oktalzahl von einer Dezimalzahl zu unterscheiden (was zu schwer zu entdeckenden Flüchtigkeitsfehlern führen kann: 0715 ist ungleich 715). Bei Python 3 werden zur besseren Unterscheidung die Ziffer 0 und der Kleinbuchstabe o vorangestellt (z. B. 0o715). In TeX wird eine Oktalzahl durch ein vorangestelltes Hochkomma gekennzeichnet. Nach Motorola-Konvention werden Oktalzahlen hingegen mit einem vorangestellten @-Zeichen gekennzeichnet (z. B. @715). Unter DR-DOS unterstützt DEBUG Oktalzahlen in Verbindung mit dem Präfix \ (z. B. \715). Diese Darstellung kommt aus der Unix-Welt, wo sie von den gängigen Shells unterstützt wird. Auch die Programmiersprache C verwendet sie für die Darstellung von Zeichen.

In der Mathematik wird oft auch die Basis des Zahlensystems an die Zahl angefügt, z. B. 172(8) = 122(10).

Beispiel: 172o = 172(8) (Mathematik) = 0172 (in C oder Java) = '\172' (in C) = '172 (TeX).

Umwandlung von Dezimalzahlen in Oktalzahlen

Eine (natürliche) Dezimalzahl kann in eine Oktalzahl umgewandelt werden, indem sie wiederholt durch die Basis 8 geteilt wird und die dabei entstehenden Divisionsreste notiert werden. Zum Beispiel werden für die Dezimalzahl 122(10) drei Rechenschritte benötigt:

122 : 8 = 15 Rest 2
 15 : 8 =  1 Rest 7
  1 : 8 =  0 Rest 1

Die Divisionsreste von unten nach oben gelesen ergeben die Oktalzahl 172(8).

Umwandlung von Oktalzahlen in Dezimalzahlen

Um eine (natürliche) Oktalzahl in eine Dezimalzahl umzuwandeln, muss man die einzelnen Ziffern mit der jeweiligen Potenz der Basis multiplizieren. Der Exponent der Basis entspricht der Stelle der Ziffer, wobei der am weitesten rechts stehenden Stelle die Null zugeordnet wird. Beispiel für 172(8) (wobei die Notation der Berechnung im Dezimalsystem erfolgt):

Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. Server problem.“): {\displaystyle [172]_{8}=1\cdot 8^{2}+7\cdot 8^{1}+2\cdot 8^{0}=122_{10}}

Die Anzahl der Multiplikationen kann durch die Verwendung des Horner-Schemas verringert werden:

Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle [172]_{8}=(1 \cdot 8 + 7) \cdot 8 + 2 = 122_{10}}

Das gleiche wie die obigen Terme stellt diese Tabelle dar; man nimmt den Spaltennamen (z. B.) „81=8“ mit dem in der Zelle angegebenen Wert mal; wenn also in Zeile 1, Spalte „81=8“ eine 3 steht, so rechnet man „81×3“

Dezimalzahl 84=4096 83=512 82=64 81=8 80=1 Endgültige Oktalzahl
5 0 0 0 0 5 5
16 0 0 0 2 0 20
86 0 0 1 2 6 126
123 0 0 1 7 3 173

Darstellung rationaler und reeller Zahlen

Wie bei allen Stellenwertsystemen lassen sich beliebige rationale oder reelle Zahlen im Oktalsystem darstellen. Als Trennzeichen zwischen dem ganzzahligen und dem gebrochenen Anteil der Zahl dient im deutschsprachigen Raum üblicherweise das Komma. Die Werte der Ziffern hinter dem Trennzeichen werden mit Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 8^{-i}} multipliziert, wobei die Position hinter dem Komma angibt.

Beispiel für die Umwandlung von 34,56(8) ins Dezimalsystem (wobei die Notation der Berechnung im Dezimalsystem erfolgt):

Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 3 \cdot 8^1 + 4 \cdot 8^0 + 5 \cdot 8^{-1} + 6 \cdot 8^{-2} = 28{,}71875_{(10)}}

In der umgekehrten Richtung erfolgt die Umwandlung des gebrochenen Anteils einer Dezimalzahl in die Oktaldarstellung durch fortwährende Multiplikation mit 8, wobei jeweils der ganzzahlige Anteil des Ergebnisses eine Oktalziffer liefert. Zum Beispiel werden für die Dezimalzahl 0,3984375(10) drei Rechenschritte benötigt:

8 · 0,3984375 = 3, 1875
8 · 0,1875    = 1,5
8 · 0,5       = 4,0

Die gesuchte Oktalzahl ist daher 0,314(8).

Natürlich kann es vorkommen, dass dieser Prozess nicht abbricht und sich daher eine unendliche Oktalbruchdarstellung ergibt. Auch eine periodische Darstellung ist möglich, wie das folgende Beispiel der Umwandlung von 0,2(10) zeigt:

8 · 0,2 = 1,6
8 · 0,6 = 4,8
8 · 0,8 = 6,4
8 · 0,4 = 3,2
8 · 0,2 = ...

Nun wiederholen sich die Zeilen, und die gesuchte Oktalzahl ist daher Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 0{,}14631463\ldots_{(8)} = 0{,}\overline{1463}_{(8)}} .

Jede rationale Zahl Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r} hat eine endliche oder unendliche periodische Oktalbruchentwicklung. Ist Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle r = \frac{p}{q}} , wobei Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle p} eine ganze und Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle q} eine natürliche Zahl ist, und ist dieser Bruch gekürzt (also Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle p} und teilerfremd), dann hat genau dann eine endliche Oktalbruchentwicklung, wenn Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle q} eine Zweierpotenz ist.

Wie bei Stellenwertsystemen üblich ist die Darstellung rationaler Zahlen nicht immer eindeutig; z. B. hat die Eins neben der Darstellung 1 auch die folgende als periodischer Oktalbruch:

Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 1 = 0{,}777\ldots_{(8)} = 0{,}\overline{7}_{(8)}} .

Trivia

  • Die außerirdischen Na’vi aus dem Film Avatar – Aufbruch nach Pandora verwenden das Oktalsystem, da sie über vier Finger an jeder Hand verfügen.
  • In der TV-Serie Stargate verwendeten die Antiker ebenfalls das Oktalsystem.

Weblinks

Wiktionary: Oktalsystem – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen