Kódování DPD
Vzhled
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.
Hodnota ve formátu DPD | Desítkové číslice | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kódový prostor
(1024 hodnot) |
b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d2 | d1 | d0 | Hodnoty číslic | Popis | Statistika (z 1000 hodnot) | |
50.0% (512 hodnot) | a | b | c | d | e | f | 0 | g | h | i | 0abc | 0def | 0ghi | (0–7) (0–7) (0–7) | Tři nízké číslice | 51.2% (512 hodnot) | |
37.5% (384 hodnot) | a | b | c | d | e | f | 1 | 0 | 0 | i | 0abc | 0def | 100i | (0–7) (0–7) (8–9) | Dvě nízké číslice, jedna vysoká | 38.4% (384 hodnot) | |
a | b | c | g | h | f | 1 | 0 | 1 | i | 0abc | 100f | 0ghi | (0–7) (8–9) (0–7) | ||||
g | h | c | d | e | f | 1 | 1 | 0 | i | 100c | 0def | 0ghi | (8–9) (0–7) (0–7) | ||||
9.375% (96 hodnot) | g | h | c | 0 | 0 | f | 1 | 1 | 1 | i | 100c | 100f | 0ghi | (8–9) (8–9) (0–7) | Jedna nízká číslice, dvě vysoké | 9.6% (96 hodnot) | |
d | e | c | 0 | 1 | f | 1 | 1 | 1 | i | 100c | 0def | 100i | (8–9) (0–7) (8–9) | ||||
a | b | c | 1 | 0 | f | 1 | 1 | 1 | i | 0abc | 100f | 100i | (0–7) (8–9) (8–9) | ||||
3.125% (32 hodnot, využito 8) | x | x | c | 1 | 1 | f | 1 | 1 | 1 | i | 100c | 100f | 100i | (8–9) (8–9) (8–9) | Tři vysoké číslice, bity b9 a b8 jsou nevyužité | 0.8% (8 hodnot) |
Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Densely packed decimal na anglické Wikipedii.
- ↑ 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.