Die Anordnung der Bytes bei Intel - Prozessoren


Bei Intel-Prozessoren werden die Bytes, die zu einer grösseren Einheit wie einem int (4 Bytes) oder double (8 Bytes) Wortweise mit dem niederwertigsten Byte rechts also an einer höheren Adresse geschrieben. Ein Wort ist die Einheit, mit der der Prozessor an den Speicher-Bus angeschlossen ist. Bei den aktuellen Intel - Prozessoren ist dies bekanntermassen 32 Bit also 4 Bytes.

Betrachten wir ein solches Wort Bitweise würden wir natürlicherweise die höherwertigen Bits links anordnen. Hier ein Wort mit dem Wert 2.

2^31 2^30 2^29 2^28 2^27 2^26 2^25 2^24 2^23 2^22 2^21 2^20 2^19 2^18 2^17 2^16 2^15 2^14 2^13 2^12 2^11 2^10 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

Wenn wir das Byte-weise ansehen sieht dies folgendermassen aus, wobei die einzelnen Bytes als Hexadezimal - Zahlen angegeben sind :

Byte 3 Byte 2 Byte 1 Byte 0
0x00 0x00 0x00 0x02

Diese Darstellung heisst Big-Endian, die Darstellung endet mit den kleinen(little) Bytes, oder besser es beginnt im Speicher mit dem grossen Ende (big end). Diese Darstellung wurde oder wird von gewissen Motorola - Prozessoren wie der 68000 - Familie (Alte Macs, Atari) verwendet. Im Gegensatz dazu verwenden Intel Prozessoren das Little-Endian System, bei dem das Datenwort mit dem höchsten Byte endet und mit dem kleinen Ende (little end) beginnt:

Byte 0 Byte 1 Byte 2 Byte 3
0x02 0x00 0x00 0x00