float, int, and long Data Types (signed and unsigned)

The int, unsigned int, float, long and unsigned long data types are stored in memory as 32-bit objects at word (4 byte) aligned addresses. Objects of these types are loaded to and stored from bits 0-31 of a register, as shown in Figure 6-2. In big-endian mode, 4-byte objects are loaded to registers by moving the first byte (that is, the lower address) of memory to bits 24-31 of the register, moving the second byte of memory to bits 16-23, moving the third byte to bits 8-15, and moving the fourth byte to bits 0-7. In little-endian mode, 4-byte objects are loaded to registers by moving the first byte (that is, the lower address) of memory to bits 0-7 of the register, moving the second byte to bits 8-15, moving the third byte to bits 16-23, and moving the fourth byte to bits 24-31.

Figure 6-2 32-Bit Data Storage Format
Single-precision floating char
MS LS
S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M
31 23 0
Signed 32-bit integer or long char
MS LS
S I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I
31 0
Unsigned 32-bit integer or long
MS LS
U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U
31 0
LEGEND: S = sign, M = Mantissa, U = unsigned integer, E = exponent, I = signed integer, MS = most significant, LS = least significant