Efficient system of binary encoding for decimal digits used in decimal floating point
This article is about an efficient method for BCD encoding. For a simpler, but less efficient method, see Packed decimal.
Densely packed decimal (DPD) is an efficient method for binary encoding decimal digits.
The traditional system of binary encoding for decimal digits, known as binary-coded decimal (BCD), uses four bits to encode each digit, resulting in significant wastage of binary data bandwidth (since four bits can store 16 states and are being used to store only 10), even when using packed BCD. Densely packed decimal is a more efficient code that packs three digits into ten bits using a scheme that allows compression from, or expansion to, BCD with only two or three hardware gate delays.[1]
The densely packed decimal encoding is a refinement of Chen–Ho encoding; it gives the same compression and speed advantages, but the particular arrangement of bits used confers additional advantages:
Compression of one or two digits (into the optimal four or seven bits respectively) is achieved as a subset of the three-digit encoding. This means that arbitrary numbers of decimal digits (not only multiples of three digits) can be encoded efficiently. For example, 38 = 12 × 3 + 2 decimal digits can be encoded in 12 × 10 + 7 = 127 bits – that is, 12 sets of three decimal digits can be encoded using 12 sets of ten binary bits and the remaining two decimal digits can be encoded using a further seven binary bits.
The subset encoding mentioned above is simply the rightmost bits of the standard three-digit encoding; the encoded value can be widened simply by adding leading 0 bits.
All seven-bit BCD numbers (0 through 79) are encoded identically by DPD. This makes conversions of common small numbers trivial. (This must break down at 80, because that requires eight bits for BCD, but the above property requires that the DPD encoding must fit into seven bits.)
The low-order bit of each digit is copied unmodified. Thus, the non-trivial portion of the encoding can be considered a conversion from three base-5 digits to seven binary bits. Further, digit-wise logical values (in which each digit is either 0 or 1) can be manipulated directly without any encoding or decoding being necessary.
^Cite error: The named reference Cowlishaw_2002 was invoked but never defined (see the help page).
and 21 Related for: Densely packed decimal information
implementations using a binary ALU. Another with a denselypackeddecimal significand field encodes decimal digits more directly. This makes conversion to...
decimal encoding, it is encoded as a series of p decimal digits (using the denselypackeddecimal (DPD) encoding). This makes conversion to decimal form...
implemented these types, using the denselypackeddecimal binary encoding rather than BCD. Starting with Power ISA 3.0, decimal integer arithmetic instructions...
significand to be encoded as a compressed sequence of decimal digits using denselypackeddecimal or, alternatively, as a binary integer. The former is...
Path Discovery, a public-key query method Denselypackeddecimal, a system of binary encoding for decimal digits Dew point depression Diffusion pressure...
BigDecimal class (JSR 13) is now included in Java 5.0, and in 2002, he invented a refinement of Chen–Ho encoding known as denselypackeddecimal encoding...
Excess-123.) Savard, John J. G. (2018) [2007]. "Chen-Ho Encoding and DenselyPackedDecimal". quadibloc. Archived from the original on 2018-07-03. Retrieved...
MOD40, but sometimes nicknamed DEC Squoze. Packed BCD Hertz encoding Chen–Ho encoding Denselypackeddecimal (DPD) BCD (character encoding) Base 50 (numeral...
especially when implementing optimized switch statements whose values are denselypacked together. A branch table consists of a serial list of unconditional...
The Scotsman, Bill Jamieson praised the essays as "richly illustrated and packed with excellent advice on how we can restore meaning and a sense of progression...
three in the Top 10 Fiction Books of 2007, and praised it as a "dense, rich, pressure-packed guide to enduring the unendurable." Jonathan Yardley said in...
well, although a British military observer felt their aggressiveness, densely-packed formations, and over-willingness to attack cost them excessive and disproportionate...
accurate. The optical clock based on it is exact to 17 digits after the decimal point. A pair of experimental atomic clocks based on ytterbium atoms at...
while those indexed by the reals in the unit interval [0,1] are packed too densely to be able to write conventionally but nonetheless form well-defined...
for this reason, the standard atomic weight of lead is given to only one decimal place. As time passes, the ratio of lead-206 and lead-207 to lead-204 increases...
solve simple sets of simultaneous equations. Mathematical notation was decimal, and based on hieroglyphic signs for each power of ten up to one million...
the pre-decimal inflation calculator provided by the Reserve Bank of Australia for each year, input: £94 8s (94.40 Australian pounds in decimal values)...
for performing calculations, which uses a grid of cells to represent a decimal position system. Each digit (0–9) appears as a tally of rods with red rods...