Wiki Page Content

Differences between revisions 8 and 9
Revision 8 as of 2010-07-02 04:26:54
Size: 1503
Editor: SheenaSmith
Comment: update content (from Sam)
Revision 9 as of 2010-07-02 04:59:34
Size: 1418
Editor: Sam Lantinga
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
This category contains functions for reading and writing endian-specific values. This category contains functions for handling endian-specific values.
Line 22: Line 22:
D E A D B E E F (a stored value)
|_|
8 bits = 1 byte
|_| |_| |_| |_|
 1 2 3 4 (4 bytes; A = lowest address)
|_____________|
    32 bits
Line 32: Line 24:
When the value is read out of memory as a little-endian value it will produce:
EFBEADDE
When the value is read out of memory as a big-endian value it will produce:
DEADBEEF
When the bytes are read as a little-endian value, the bytes are read lowest byte first, producing the value:
0xEFBEADDE

When the bytes are read as a big-endian value, the bytes are read highest byte first, producing the value:
0xDEADBEEF
Line 38: Line 31:
SDL_byte_order corresponds to the byte order used by the processor type it was compiled for.
 * SDL byte order is SDL_LIL_ENDIAN for x86, x64, and similar systems that use the little endian byte order.
 * SDL byte order is SDL_BIG_ENDIAN for PowerPC Mac and similar systems that use the big endian byte order.
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 Mac and similar systems that use the big endian byte order.

DRAFT

Byte Order and Byte Swapping

Include File(s): SDL_endian.h

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
      
      When the bytes are read as a big-endian value, the bytes are read highest byte first, producing the value:
      0xDEADBEEF

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 Mac and similar systems that use the big endian byte order.

Functions


CategoryCategory

None: CategoryEndian (last edited 2017-02-19 20:43:49 by PhilippWiesemann)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit