Endianness

Endian und Endianness (oder "Byte-Reihenfolge") beschreiben, wie Computer die Bytes organisieren, die Zahlen bilden.

Jeder Speicherort hat einen Index oder eine Adresse. Jedes Byte kann eine 8-Bit-Zahl speichern (d.h. zwischen 0x00 und 0xff), sodass Sie mehr als ein Byte reservieren müssen, um eine größere Zahl zu speichern. Die mit Abstand häufigste Anordnung von mehreren Bytes in einer Zahl ist das Little-Endian, das auf allen Intel-Prozessoren verwendet wird. Little-Endian bedeutet, dass die Bytes in der Reihenfolge vom wenigstbedeutenden zum höchstbedeutenden gespeichert werden (wobei das wenigstbedeutende Byte die erste oder niedrigste Adresse einnimmt), vergleichbar mit der in Europa üblichen Schreibweise von Daten (z.B. 31. Dezember 2050).

Natürlich ist Big-Endian die entgegengesetzte Reihenfolge, vergleichbar mit einem ISO-Datum (2050-12-31). Big-Endian wird auch oft als "Network Byte Order" bezeichnet, da Internetstandards in der Regel erfordern, dass Daten Big-Endian gespeichert werden, beginnend auf der Standard-UNIX-Socket-Ebene bis hin zu standardisierten webbasierten Binärdatenstrukturen. Auch ältere Mac-Computer, die 68000er-Serie und PowerPC-Mikroprozessoren verwenden, nutzten früher Big-Endian.

Beispiele mit der Zahl 0x12345678 (d.h. 305 419 896 in Dezimal):

  • Little-Endian: 0x78 0x56 0x34 0x12
  • Big-Endian: 0x12 0x34 0x56 0x78
  • Mixed-Endian (historisch und sehr selten): 0x34 0x12 0x78 0x56

Der Leitfaden zu typisierten Arrays liefert ein Beispiel, das jede Zahl in ihre binäre Darstellung unter der gegebenen Endianness konvertiert.

Siehe auch