6.2.1.3 double, long double, and long long Data Types (signed and unsigned)
Double, long double, long long and unsigned long long data types are stored in memory in a pair of registers and are always referenced as a pair. These types are stored as 64-bit objects at word (4 byte) aligned addresses. For FPA mode, the word at the lowest address contains the sign bit, the exponent, and the most significant part of the mantissa. The word at the higher address contains the least significant part of the mantissa. This is true regardless of the endianness of the target. For VFP mode, the words are ordered based upon the endianness of the target.
Objects of this type are loaded into and stored in register pairs, as shown in Figure 6-3. The most significant memory word contains the sign bit, exponent, and the most significant part of the mantissa. The least significant memory word contains the least significant part of the mantissa.
Figure 6-3 Double-Precision Floating-Point Data Storage Format
S |
E |
E |
E |
E |
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 |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
M |
LEGEND: S = sign, M = mantissa, E = exponent, MS = most significant, LS = least significant |