Oktett (Informatik)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Oktett (englisch octet) ist in der Informatik und Digitaltechnik die Bezeichnung für eine geordnete Zusammenstellung (ein Tupel) von 8 Bit.

Geschichte und Hintergründe[Bearbeiten]

Da ein Oktett stets aus 8 Bit besteht, kann es 28 = 256 verschiedene Zustände darstellen. Der Begriff wird oftmals synonym mit Byte verwendet. In Standards zur Datenübertragung (IETF, ITU-T) wird der Begriff häufig verwendet.

Nicht verwechselt werden sollte das Oktett mit einem Zeichen, das bei sogenannten Multi-Byte-Zeichen durchaus aus mehreren Oktetten bestehen kann.

Die Grundlage für den heutigen Standard, dass ein Byte aus acht Bit besteht, und dass die kleinste Einheit der Hauptspeicheradressierung ein solches Byte ist, wurde vom Unternehmen IBM mit der S/360-Architektur am 7. April 1964 gelegt.[1]

Als Maßeinheit zur Angabe von Datenmengen dient die von Bit abgeleitete Einheit Byte, wobei gilt, dass hier 1 Byte als 8 Bits definiert wurde. Gerade in Normen oder in der DFÜ (in der oft Stoppbits, usw. hinzukommen) wird jedoch häufig die genauere Bezeichnung Oktett verwendet.

In Computern können oft einzelne Oktette im Hauptspeicher adressiert werden, aber auch die Adressierung von einzelnen Bits, Halboktetts (Nibbles), Doppeloktetts (16 Bit) und größeren Gruppen ist möglich. Heute sind 32- und 64-Bit-Rechner üblich, die 32 bzw. 64 Bit (vier bzw. acht Oktette) gemeinsam adressieren können.

Ein Oktett kann 28 = 256 verschiedene Werte darstellen, die unterschiedlich interpretiert werden können. Man kann darin zum Beispiel einen vorzeichenlosen Integer-Wert im Bereich von 0 bis 255, einen vorzeichenbehafteten Integer-Wert im Bereich von −127 bis +127 oder −128 bis +127 (je nach der Kodierung der negativen Zahlen) oder ein Zeichen oder mehrere Zeichen speichern. Alle diese Datentypen sind nur unterschiedliche Interpretationen des gleichen Bitmusters. Zum Beispiel entspricht ein Oktett mit dem Integer-Wert 65 in der ASCII-Codierung dem Zeichen „A“. Neben dem verbreiteten ASCII existieren auch noch proprietäre Zeichenkodierungen, wie beispielsweise EBCDIC, welcher auf IBM-Großrechnern verwendet wird.

Häufig werden die Werte von Oktetten in Hexadezimalschreibweise angegeben, zum Beispiel für den Dezimalwert „65“ als „4116“, „0x41“, „$41“ oder „41h“, wobei die drei letzten Schreibweisen kennzeichnen sollen, dass es sich um einen Hexadezimalwert handelt. Manchmal wird der Wert eines Oktetts auch als Binärzahl angegeben, dann steht üblicherweise links das Bit mit der höchsten Wertigkeit (most significant bit, MSB) und rechts das mit der niedrigsten (least significant bit, LSB). Die Zählung der Bitpositionen beginnt normalerweise mit 0, das heißt beispielsweise, „das dritte Bit“ ist „Bit 2“ und steht an der dritten Stelle von rechts.

Beispiel für die Schreibweise des Werts 65 (binär 01000001), Bitpositionen und die Berechnung des Dezimalwerts:

Wertigkeit 128 64 32 16  8  4  2  1
Bitnummer    7  6  5  4  3  2  1  0
             0  1  0  0  0  0  0  1

 0\cdot 128 + 1\cdot 64 + 0\cdot 32 + 0\cdot 16 + 0\cdot 8 + 0\cdot 4 + 0 \cdot 2 + 1\cdot 1 = 64 + 1 = 65

Ein Oktett kann in zwei Halbbytes, so genannte Nibbles, zu je 4 Bit, unterteilt werden. Schreibt man es in Hexadezimalschreibweise, so entspricht jedes Nibble einer Hexadezimalstelle.

Nach dem internationalen Standard IEC 60027-2, Kapitel 3.8.2, ist ein Byte ein Oktett von Bits, enthält also genau 8 Bit.

Alternative Verwendung[Bearbeiten]

In manchen Fällen wird auch ein Tupel von 3 Bits als Oktett bezeichnet, was damit zusammenhängt, dass mit 3 Bit acht verschiedene Werte, also eine Oktal-Ziffer, darstellbar sind. Diese Bezeichnung wurde zum Beispiel für die drei Zugriffsrechte-Bits (Lesen, Schreiben, Ausführen) in Unix-artigen Dateisystemen verwendet (siehe auch chmod). In neueren Beschreibungen von chmod wird der Begriff aber nicht mehr verwendet, um Verwechselungen mit einem 8-Bit-Oktett zu vermeiden.

Einzelnachweise[Bearbeiten]

  1. Wilhelm G. Spruth, Paul Herrmann, Udo Kebschull (2004): Einführung in z/os und OS/390, S. 7