Kódování DPD
Technology
12 hours ago
8
4
2
Author
Albert FloresKó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. +more6 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.
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. +more2% (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) |
37. 5% (384 hodnot) | a | b | c | g | h | f | 1 | 0 | 1 | i | 0abc | 100f | 0ghi | (0-7) (8-9) (0-7) | Dvě nízké číslice, jedna vysoká | 38. 4% (384 hodnot) |
37. 5% (384 hodnot) | g | h | c | d | e | f | 1 | 1 | 0 | i | 100c | 0def | 0ghi | (8-9) (0-7) (0-7) | Dvě nízké číslice, jedna vysoká | 38. 4% (384 hodnot) |
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) |
9. 375% (96 hodnot) | d | e | c | 0 | 1 | f | 1 | 1 | 1 | i | 100c | 0def | 100i | (8-9) (0-7) (8-9) | Jedna nízká číslice, dvě vysoké | 9. 6% (96 hodnot) |
9. 375% (96 hodnot) | a | b | c | 1 | 0 | f | 1 | 1 | 1 | i | 0abc | 100f | 100i | (0-7) (8-9) (8-9) | Jedna nízká číslice, dvě vysoké | 9. 6% (96 hodnot) |
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) |