The
IEEE 754-2008 standard includes an encoding format for decimal floating point numbers in which the significand and the exponent (and the payloads of
NaNs) can be encoded in two ways, referred to in the draft as binary encoding and decimal encoding.
Both formats break a number down into a sign bit
s, an exponent
q (between
q<sub>min</sub> and
q<sub>max</sub>), and a
p-digit significand
c (between 0 and 10<sup>
p</sup>−1). The value encoded is (−1)<sup>
s</sup>×10<sup>
q</sup>×
c. In both formats the range of possible values is identical, but they differ in how the significand
c is represented. In the decimal encoding, it is encoded as a series of
p decimal digits (using the
densely packed decimal encoding. This makes conversion to decimal form efficient, but requires a specialized decimal
ALU to process. In the
binary integer decimal encoding, it is encoded as a binary number.
Format
Using the fact that 2<sup>10</sup> = 1024 is only slightly more than 10<sup>3</sup> = 1000, 3
n-digit decimal numbers can be efficiently packed into 10
n binary bits. However, the IEEE formats have...
Read More