Endianness Definition

Was ist Endianness?

Endlichkeit ist ein Informatikbegriff, der beschreibt, wie Daten gespeichert werden. Er definiert insbesondere, welches Ende eines Multi-Byte-Datentyps die wichtigsten Werte enthält. Die beiden Arten der Endianness sind Big-Endian und Little-Endian.

Big-Endian

Big-Endian ist die gebräuchlichste Art, Binärdaten zu speichern. Dabei wird der höchstwertige (oder größte) Wert an die erste Stelle gesetzt, gefolgt von den weniger wichtigen Werten. Bei der Big-Endian-Darstellung der Ganzzahl 123 wird beispielsweise der Hunderterwert (1) zuerst gespeichert, gefolgt vom Zehnerwert (2), dann der Einserwert (3) oder [123].

Little-Endian

Little-Endian speichert den niedrigstwertigen Wert zuerst, gefolgt von zunehmend höherwertigen Werten. Zum Beispiel ist die Zahl 123 in Little-Endian-Notation [321]. Der Text String“ABC“ wird als [CBA] dargestellt.

Endian-Konvertierung

In den meisten Fällen müssen Entwickler die Endianness nicht angeben, da der Compiler den richtigen Datentyp für eine bestimmte Plattform erzeugt. Es kann jedoch vorkommen, dass ein Programm externe Eingaben verarbeiten muss, wie z.B. ein Dateiformat, das Daten mit einer anderen Endianness speichert. In diesem Fall müssen die Daten von Little-Endian in Big-Endian oder umgekehrt konvertiert werden.

Die Konvertierung der Endianness ist nicht so einfach wie das Umkehren der Daten. Die Bytes und nicht die Bits müssen umgedreht werden. Mit anderen Worten: Jedes Byte (oder jeder Block von acht Bits) muss gleich bleiben, aber die Reihenfolge der Bytes wird geändert. Dies lässt sich anhand der hexadezimalen oder binären Darstellung von Daten erklären.

Die ganze Zahl 41.394 wird beispielsweise in Big-Endian-Notation wie folgt dargestellt:

hexadezimal:A1B2
binär:1010000110110010

Bei der Umwandlung dieser Daten in Little-Endian werden nicht die Daten, sondern die einzelnen Bytes innerhalb der Daten umgekehrt. Hexadezimal wird jedes Byte mit zwei Ziffern dargestellt – [A1][B2], während binär acht Ziffern verwendet werden – [10100001][10110010].

Daher lautet die Little-Endian-Darstellung von 41.394:

Hexadezimal:B2A1
Binär:1011001010100001

HINWEIS:Einige Prozessoren können Daten sowohl im Big-Endian- als auch im Little-Endian-Format abrufen, ohne dass eine Umwandlung erforderlich ist. Dies wird als Bi-Endian-Datenzugriff bezeichnet.

Die Definition von Endianness auf dieser Seite ist eine Originaldefinition von SharTec.eu.
Das Ziel von SharTec ist es, Computerterminologie so zu erklären, dass sie leicht zu verstehen ist. Wir bemühen uns bei jeder von uns veröffentlichten Definition um Einfachheit und Genauigkeit. Wenn Sie Feedback zur Endianness-Definition haben oder einen neuen Fachbegriff vorschlagen möchten, kontaktieren Sie uns bitte.