Densely Packed Decimal

Densely Packed Decimal

Densely Packed Decimal (DPD) is a system of binary encoding for
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). Densely Packed Decimal is a lossless code which packs three digits into 10 bits using a scheme which allows compression from, or expansion to, BCD with only two or three gate delays in hardware.

The Densely Packed Decimal encoding gives the same compression and speed advantages as the Huffman-coded Chen-Ho encoding, but it is not a prefix code; 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 3-digit encoding. This means that arbitrary numbers of decimal digits (not just multiples of three digits) can be encoded efficiently. For example, 38 decimal digits can be encoded in 127 bits.

* The encodings for one or two decimal digits are right-aligned in the ten bits (the remaining bits being 0). This means that encoded decimal numbers can be expanded into a longer field simply by padding with zero bits; no re-encoding is necessary.

* The arrangement of the bits in the encoding allows all numbers in the range 0 through 79 to have the same right-aligned encoding as in BCD, which makes conversions of common small numbers trivial.

Examples

This table shows some representative decimal numbers and theirencodings in BCD, Chen-Ho, and Densely Packed Decimal (DPD):

History

In 1971, Tien Chi Chen and Dr. Irving T. Ho devised a lossless code (now known as Chen-Ho encoding) which used Huffman coding to pack three digits into 10 bits using a scheme which allowed compression from or expansion to BCD with only two or three gate delays in hardware. Densely Packed Decimal is a refinement on this, but is not a prefix code.

References

*cite journal |last=Cowlishaw |first=M. F. |authorlink=Mike Cowlishaw |title=Densely Packed Decimal Encoding |journal=IEE Proceedings – Computers and Digital Techniques |issn=1350-2387 |volume=149 |issue=3 |pages=102-104 |publisher=Institution of Electrical Engineers |month=May |year=2002 |doi=10.1049/ip-cdt:20020407

*cite web |url=http://www2.hursley.ibm.com/decimal/DPDecimal.html |title=Summary of Densely Packed Decimal encoding |last=Cowlishaw |first=M. F. |authorlink=Mike Cowlishaw |date=2000-10-03 |accessdate=2008-09-10
*cite web |url=http://home.hetnet.nl/mr_1/81/jhm.bonten/computers/bitsandbytes/wordsizes/ibmpde.htm#dense |title=Packed Decimal Encoding IEEE-754r |first=J.H.M. |last=Bonten |archiveurl=http://web.archive.org/web/20070824053303/http://home.hetnet.nl/mr_1/81/jhm.bonten/computers/bitsandbytes/wordsizes/ibmpde.htm |archivedate=2007-08-24 |accessdate=2008-09-10


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Densely packed decimal — (DPD) is a system of binary encoding for 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… …   Wikipedia

  • Decimal computer — Decimal computers, computers which have a decimal architecture, represent numbers and/or addresses in decimal, and provide instructions to operate on those numbers and/or addresses directly; examples of encoding used are BCD, Excess 3, two out of …   Wikipedia

  • Decimal floating point — Floating point precisions IEEE 754: 16 bit: Half (binary16) 32 bit: Single (binary32), decimal32 64 bit: Double (binary64), decimal64 128 bit: Quadruple (binary128), decimal128 Other: Minifloat · Extended precision Arbitrary precision… …   Wikipedia

  • Binary-coded decimal — In computing and electronic systems, binary coded decimal (BCD) is a digital encoding method for numbers using decimal notation, with each decimal digit represented by its own binary sequence. In BCD, a numeral is usually represented by four bits …   Wikipedia

  • Decimal128 floating-point format — Floating point precisions IEEE 754: 16 bit: Half (binary16) 32 bit: Single (binary32), decimal32 64 bit: Double (binary64), decimal64 128 bit: Quadruple (binary128), decimal128 Other: Minifloat · Extended precision Arbitrary precision In com …   Wikipedia

  • Decimal32 floating-point format — Floating point precisions IEEE 754: 16 bit: Half (binary16) 32 bit: Single (binary32), decimal32 64 bit: Double (binary64), decimal64 128 bit: Quadruple (binary128), decimal128 Other: Minifloat · Extended precision Arbitrary precision In com …   Wikipedia

  • Decimal64 floating-point format — Floating point precisions IEEE 754: 16 bit: Half (binary16) 32 bit: Single (binary32), decimal32 64 bit: Double (binary64), decimal64 128 bit: Quadruple (binary128), decimal128 Other: Minifloat · Extended precision Arbitrary precision In com …   Wikipedia

  • IEEE 754 revision — This article describes the revision process of the IEEE 754 standard, 2000 2008, and the changes included in the revision. For a description of the standard itself, see IEEE 754 2008. IEEE 754 2008 (previously known as IEEE 754r ) was published… …   Wikipedia

  • Mike Cowlishaw — Michael F. Cowlishaw Born …   Wikipedia

  • Chen–Ho encoding — Chen Ho encoding is an alternate system of binary encoding for 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… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”