'''Include File(s):''' [http://hg.libsdl.org/SDL/file/default/include/SDL_endian.h SDL_endian.h]
This category contains functions for handling endian-specific values.
Simple data types like integers and floats consist of several bytes. A 32bit integer (Sint32), for example, uses four bytes (as each byte has 8 bits). Endianness describes how the system orders the bytes of this value in memory.
Endianness comes in two forms - big and little.
''Example:'' Imagine the 32bit integer number 16,909,060
in decimal. In hexadecimal that would be ~+0x01020304
+~.
0x01
is the most significant byte (the one that increases the value the most. {{{0x04}}} is the least significant byte (as it increases the value the least).
When that is stored in memory on a little-endian system they are stored with the least significant byte first, producing the byte stream: 0x04 0x03 0x02 0x01
When that is stored in memory on a big-endian system they are stored with the most significant byte first, producing the byte stream: 0x01 0x02 0x03 0x04
For further information about endianness read the [https://en.wikipedia.org/wiki/Endianness Wikipedia] article on the subject.
SDL_BYTEORDER is a macro that corresponds to the byte order used by the processor type it was compiled for.
<<FullSearchCached(category:CategoryEndian -CategoryEnum -CategoryStruct -title:SGFunctions)>>