Big Endian

aus RHWiki, der freien Romhacking-Enzyklopädie

Was ist Big Endian ?

Big Endian (abgekürzt BE) ist ein Format, welches die Ablage von Zahlen im Speicher eines Computers (oder in einer Datei) regelt. Im Detail werden bei BE alle Bytes einer Zahl hintereinander geschrieben.

Übersetzt bedeutet es auch soviel wie "niederwertigstes (Byte) zuletzt", also dass von einer Zahl das Byte mit dem kleinsten Stellenwert ganz rechts abgelegt wird.

Beispiel:

0x7DD402 (Hex-Zahl mit der gerechnet wird) => 00 7D D4 02 (Speicher)

Das Gegenstück zu BE ist Little Endian (LE), bei dem die Bytes vertauscht werden.

Wozu das alles ?

Es gibt hauptsächlich einen Grund für die Verwendung von BE:

Bei der Arbeit mit signed Bytes muss bloß das erste Byte auf das Vorzeichen im höchstwertigen Bit überprüft werden und die Länge der Zahl muss nicht unbedingt bekannt sein.

Der Nachteil von BE ist die umständliche Erweiterung von Zahlen:


Die Zahl 0x92C0 (2 Byte) liegt in BE vor:

Offset  0  1  2  3  4  5 ...
Zahl   92 C0 

Nun soll sie auf 4 Bytes vergrößert werden. Dazu muss die ganze Zahl um 2 Bytes nach rechts geschoben werden und links mit Nullen aufgefüllt werden:

Offset  0  1  2  3  4  5 ...
Zahl   00 00 92 C0 

Dieser Vorgang ist sehr Rechenlastig. Einfacher geht es auf LE-Systemen.

Siehe auch

'Persönliche Werkzeuge