Densely packed decimal

Densely packed decimal (DPD)は、二進化十進表現の一種で、情報量と計算量の両方で効率的な手法として提案されたものである。
十進法の1桁を二進法4ビットで表現する伝統的な方法であるBCDは、4ビットで表現可能な16個の状態の内10個のみしか使っておらず、無駄が多い。DPDは3桁（1000状態）を10ビット（1024状態の表現が可能）に押し込めるためより効率的であり、またこの圧縮にかかるハードウェアのコストはわずか2、3ゲートの遅延のみである。
DPDはを洗練させたものである。圧縮率と速度の利点はそのままに、加えて特徴的なビットの配置により以下の利点がある。
歴史.
1971年、陳天機(Tien Chi Chen)とIrving T. Hoが現在Chen-Ho符号化として知られる手法を考案した。これは3桁の10進数を10ビットに無劣化でパックする接頭符号表現であり、わずか2、3ゲートのハードウェア遅延でBCDとの間の変換が可能であった。DPDはこれを洗練させたものであり、(Mike Cowlishaw)により考案された。DPDは浮動小数点表現の標準のIEEE 754-2008の、十進浮動小数点に取り入れられた。
符号化方式.
Chen-Ho符号と同様、DPD符号は、各桁の数字を最上位ビットに応じて2種類に分類する。0から7(2進0000-0111)の「小さい」数字と、8および9(2進1000, 1001)の「大きい」数字である。ある数字が小さいことがわかっていれば、追加の3ビットでその数字を指定できる。ある数字が大きければ、追加のビットは1ビットのみで済む。
符号化において、対象の3つの数字それぞれの最上位ビットにより、残りのビットをエンコードするパターンが8つのうちから選択される。下表にそのパターンを示す。
例.
下表は特徴的ないくつかの数について、10進数とそのBCD、Chan-Ho、DPDのビットパターンを示す。
関連項目.
IEEE 754#十進浮動小数点数の交換形式