Kódování DPD

Kódování DPD (Densely packed decimal) je efektivní metodou pro binární kódování desítkových číslic.

Tradičně se pro kódování desítkových číslic používá kódování BCD (binary-coded decimal), které používá pro zakódování jedné desítkové číslice čtyři bity. Kódování BCD využívá asi 83 procent paměti, zatímco kódování DPD využívá přes 99.6 procent paměti.

Kódování DPD se vylepšuje kódování Chen–Ho; je stejně úsporné z hlediska paměti, ale má některé výhodnější vlastnosti. Například je vhodnější když počet číslic není dělitelný třemi.

Densely packed decimal encoding rules[1]
Hodnota ve formátu DPDDesítkové číslice
Kódový prostor

(1024 hodnot)

b9b8b7b6b5b4b3b2b1b0d2d1d0Hodnoty číslicPopisStatistika (z 1000 hodnot)
50.0% (512 hodnot)abcdef0ghi0abc0def0ghi(0–7) (0–7) (0–7)Tři nízké číslice51.2% (512 hodnot)
37.5% (384 hodnot)abcdef100i0abc0def100i(0–7) (0–7) (8–9)Dvě nízké číslice, jedna vysoká38.4% (384 hodnot)
abcghf101i0abc100f0ghi(0–7) (8–9) (0–7)
ghcdef110i100c0def0ghi(8–9) (0–7) (0–7)
9.375% (96 hodnot)ghc00f111i100c100f0ghi(8–9) (8–9) (0–7)Jedna nízká číslice, dvě vysoké9.6% (96 hodnot)
dec01f111i100c0def100i(8–9) (0–7) (8–9)
abc10f111i0abc100f100i(0–7) (8–9) (8–9)
3.125% (32 hodnot, využito 8)xxc11f111i100c100f100i(8–9) (8–9) (8–9)Tři vysoké číslice, bity b9 a b8 jsou nevyužité0.8% (8 hodnot)

Reference

V tomto článku byl použit překlad textu z článku Densely packed decimal na anglické Wikipedii.

  1. COWLISHAW, Michael Frederic. A Summary of Densely Packed Decimal encoding [online]. IBM, 2007-02-13 [cit. 2016-02-07]. Dostupné v archivu pořízeném z originálu dne 2015-09-24. (anglicky)