Byte Order and Byte Swapping
Include File(s): SDL_endian.h
Contents
Introduction
This category contains functions for handling endian-specific values.
Endianness comes in two forms - big and little.
- SDL_LIL_ENDIAN means byte order is 1234, where the smaller (little) numbered position comes first
- SDL_BIG_ENDIAN means byte order is 4321, where the larger (big) numbered position comes first
Example: Imagine the hexadecimal sequence in byte form of DE AD BE EF
- When the bytes are read as a little-endian value, the bytes are read lowest byte first, producing the value:
0xEFBEADDE
0xDEADBEEF
- When the bytes are read as a little-endian value, the bytes are read lowest byte first, producing the value:
SDL_BYTEORDER is a macro that corresponds to the byte order used by the processor type it was compiled for.
- SDL_BYTEORDER is SDL_LIL_ENDIAN for x86, x64, and similar systems that use the little endian byte order.
- SDL_BYTEORDER is SDL_BIG_ENDIAN for PowerPC and similar systems that use the big endian byte order.