Oktett (Informatik)

aus Wikipedia, der freien Enzyklopädie

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

Oktett vs. Byte vs. Zeichen

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.

Als Maßeinheit zur Angabe von Datenmengen dient die von Bit abgeleitete Einheit Byte, wobei 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. So ist nach dem internationalen Standard IEC 60027-2, Kapitel 3.8.2, ein Byte ein Oktett von Bits, enthält also genau 8 Bit.

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

Hauptspeicher-Adressierung

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

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

Wertumfang

Ein Oktett kann 28 = 256 verschiedene Werte darstellen, die unterschiedlich interpretiert werden können. Man kann darin z. B. speichern:

  • einen vorzeichenlosen Integer-Wert im Bereich von 0 bis 255
  • einen vorzeichenbehafteten Integer-Wert, je nach Kodierung der negativen Zahlen im Bereich
    • von −127 bis +128 oder
    • von −128 bis +127
  • ein oder mehrere Zeichen bzw. ein Teil eines Zeichens.

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 proprietäre Zeichenkodierungen, wie beispielsweise EBCDIC, welcher auf IBM-Großrechnern verwendet wird.

Darstellung in verschiedenen Stellenwertsystemen

Hexadezimalsystem

Häufig werden die Werte von Oktetten in Hexadezimalschreibweise angegeben, z. B. für den Dezimalwert „65“ als „4116“, „0x41“, „$41“ oder „41h“; die drei letzten Schreibweisen sollen kennzeichnen, dass es sich um einen Hexadezimalwert handelt. Zur vollständigen Darstellung eines Oktetts werden zwei Hexadezimal-Stellen benötigt.

Ein Oktett kann in zwei Semi-Oktetts, Quadbit oder Quartett zu je 4 Bit unterteilt werden. In Hexadezimalschreibweise entspricht jedes Semi-Oktett einer Hexadezimalstelle.

Binärsystem

Manchmal wird der Wert eines Oktetts auch als Binärzahl angegeben. Beispiel für die Binärschreibweise des Oktetts mit dem Dezimalwert 65:

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

Berechnung des Dezimalwerts:

Dabei 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 rechts mit 0, d. h. beispielsweise, „das dritte Bit“ ist „Bit 2“ und steht an dritter Stelle von rechts.

Alternative Definition

In manchen Fällen wird auch ein Tripel von 3 Bits (traditionell eine Triade[2][3]) als Oktett bezeichnet, was damit zusammenhängt, dass mit 3 Bit acht verschiedene Werte darstellbar sind, also eine Oktal-Ziffer. Diese Bezeichnung wurde z. B. 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

  1. Wilhelm G. Spruth, Paul Herrmann, Udo Kebschull (2004): Einführung in z/os und OS/390, S. 7
  2. Reinhold Paul: Leitfaden der Informatik (=  Elektrotechnik und Elektronik für Informatiker - Grundgebiete der Elektronik), Band 2. B.G. Teubner Stuttgart / Springer, 2013, ISBN 3322966526, ISBN 9783322966520 (Abgerufen am 3. August 2015).
  3. Gert Böhme, Werner Born, B. Wagner, G. Schwarze [1969]: Jürgen Reichenbach (Hrsg.): Programmierung von Prozeßrechnern (=  Reihe Automatisierungstechnik), Band 79. VEB Verlag Technik Berlin, reprint: Springer Verlag, 2. Juli 2013, ISBN 978-3-663-00808-8, doi:10.1007/978-3-663-02721-8, 9/3/4185.