Endianness

Storage Order

Binary data unit:

  • 1 Byte (B) = 8 bits (b): 28 = 256 possible values to store large numbers it is necessary to group bytes. Typically 2, 4 or 8 bytes (16, 32 or 64 bits).

Problem: systems differ in how they store multi-byte values.

  • big-endian: place the most significant byte in the 1st (or lower) storage address.

  • little-endian: place the less significant byte in the 1st (or lower) storage address.

Big-endian processors.

  • SPARC, PowerPC, MIPS, Motorola 68k, Alpha, ...

Little-endian processors.

  • It seems that there are some optimization advantages in pipelined architectures.

  • z80, VAX, x86, x86-64, amd64, ...

Programmable Big/Little-endian.

  • ARM, ...

Data networks – network order.

  • IP: Big-endian, but there are some exceptions.

  • Very important to guarantee systems interoperability.

Last updated