Oktalsystem

Aus testwiki
Zur Navigation springen Zur Suche springen

Vorlage:Belege Das Oktalsystem (von Vorlage:LaSacht‘) 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 17. Jahrhundert in Schweden; als Urheber kommen König Karl XII., der Wissenschaftler Emanuel Swedenborg oder der Erfinder Christopher Polhem in Frage.

dezimal dual oktal hexadezimal
Vorlage:Bahnlinie 0 0 0
Vorlage:Bahnlinie 1 1 1
Vorlage:Bahnlinie 10 2 2
Vorlage:Bahnlinie 11 3 3
Vorlage:Bahnlinie 100 4 4
Vorlage:Bahnlinie 101 5 5
Vorlage:Bahnlinie 110 6 6
Vorlage:Bahnlinie 111 7 7
Vorlage:Bahnlinie 1000 10 8
Vorlage:Bahnlinie 1001 11 9
Vorlage:Bahnlinie 1010 12 A
Vorlage:Bahnlinie 1011 13 B
Vorlage:Bahnlinie 1100 14 C
Vorlage:Bahnlinie 1101 15 D
Vorlage:Bahnlinie 1110 16 E
Vorlage:Bahnlinie 1111 17 F
Vorlage:Bahnlinie 10000 20 10
Vorlage:Bahnlinie 10001 21 11
Vorlage:Bahnlinie 10010 22 12
Vorlage:Bahnlinie 10011 23 13
Vorlage:Bahnlinie 10100 24 14
Vorlage:Bahnlinie 10101 25 15
Vorlage:Bahnlinie 10110 26 16
Vorlage:Bahnlinie 10111 27 17
Vorlage:Bahnlinie 11000 30 18
Vorlage:Bahnlinie 11001 31 19
Vorlage:Bahnlinie 11010 32 1A
Vorlage:Bahnlinie 11011 33 1B
Vorlage:Bahnlinie 11100 34 1C
Vorlage:Bahnlinie 11101 35 1D
Vorlage:Bahnlinie 11110 36 1E
Vorlage:Bahnlinie 11111 37 1F
Vorlage:Bahnlinie 100000 40 20
Vorlage:Bahnlinie 100001 41 21
Vorlage:Bahnlinie 100010 42 22
Vorlage:Bahnlinie 100011 43 23
Vorlage:Bahnlinie 100100 44 24
Vorlage:Bahnlinie 100101 45 25
Vorlage:Bahnlinie 100110 46 26
Vorlage:Bahnlinie 100111 47 27
Vorlage:Bahnlinie 101000 50 28
Vorlage:Bahnlinie 101001 51 29
Vorlage:Bahnlinie 101010 52 2A
Vorlage:Bahnlinie 101011 53 2B
Vorlage:Bahnlinie 101100 54 2C
Vorlage:Bahnlinie 101101 55 2D
Vorlage:Bahnlinie 101110 56 2E
Vorlage:Bahnlinie 101111 57 2F
Vorlage:Bahnlinie 110000 60 30
Vorlage:Bahnlinie 110001 61 31
Vorlage:Bahnlinie 110010 62 32
Vorlage:Bahnlinie 110011 63 33
Vorlage:Bahnlinie 110100 64 34
Vorlage:Bahnlinie 110101 65 35
Vorlage:Bahnlinie 110110 66 36
Vorlage:Bahnlinie 110111 67 37
Vorlage:Bahnlinie 111000 70 38
Vorlage:Bahnlinie 111001 71 39
Vorlage:Bahnlinie 111010 72 3A
Vorlage:Bahnlinie 111011 73 3B
Vorlage:Bahnlinie 111100 74 3C
Vorlage:Bahnlinie 111101 75 3D
Vorlage:Bahnlinie 111110 76 3E
Vorlage:Bahnlinie 111111 77 3F

Zählen im Oktalsystem

Beim Zählen im Oktalsystem ist zu beachten, dass der Übertrag schon nach der 7 erfolgt (es folgt die oktale 10) und nicht nach der 9 (es folgt die dezimale 10). 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

Mündliche Zahlwortsysteme mit der Basiszahl 8 sind äußerst selten. Bekannt sind die Sprachen Mech und Yuki.[1]

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.

Ein historischer Anwendungsfall findet sich beim Apollo Guidance Computer. Hier werden für Daten und Adressen ebenfalls Oktalzahlen verwendet, vermutlich aufgrund der Wortbreite von 15 Bit. Somit kann ein Wort durch eine 5-stellige Oktalzahl dargestellt werden.

Luftfahrt

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

Kennzeichnung

Oktalzahlen werden häufig durch einen nachgestellten Buchstaben o gekennzeichnet (auch bekannt als Intel-Konvention). In den Programmiersprachen C, Java und Python (Versionen bis 2.x) wird eine 0 vorangestellt, um eine Oktalzahl von einer Dezimalzahl zu unterscheiden (was zu schwer entdeckbaren Flüchtigkeitsfehlern führt: 0715 ist was anderes als 715). Python 3 verwendet zur besseren Unterscheidung die Ziffer 0 gefolgt vom Kleinbuchstabe o (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.

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

Weitere Beispiele
  • 172o oder 172(8) (Mathematik),
  • 8#172# (Ada)
  • 0172 (C, C++, Java und viele von C abgeleitete Sprachen),
  • '\172' bzw. "\172" (Zeichen- bzw. Zeichenkettenliteral in C/C++),
  • '172 (TeX).

Konvertierung von Zahlen in Oktalzahlen

Eine ganzzahlige positive Zahl 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 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 diese Zahl in Oktaldarstellung 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):

[172]8=182+781+280=12210

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

[172]8=(18+7)8+2=12210

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 8i multipliziert, wobei i 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):

381+480+581+682=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 0,14631463(8)=0,1463(8).

Jede rationale Zahl r hat eine endliche oder unendliche periodische Oktalbruchentwicklung. Ist r=pq, wobei p eine ganze und q eine natürliche Zahl ist, und ist dieser Bruch gekürzt (also p und q teilerfremd), dann hat r genau dann eine endliche Oktalbruchentwicklung, wenn 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:

1=0,777(8)=0,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.

Einzelnachweise

  1. Gisa Eysen: „Untersuchungen zu Strukturen von Zahlwortsystemen.“ Verlag Dr. Kovač, Hamburg 2008, ISBN 978-3-8300-4062-0, S. 174.

Vorlage:Wiktionary

Vorlage:Navigationsleiste Stellenwertsysteme