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 the following figure. 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 |