読み方 : パックじゅっしんすう

パック10進数【packed BCD】

概要

パック10進数とは、コンピュータで数値を表現する形式の一つで、10進数の1桁を4ビットの2進数に対応させ、2桁分を1バイトにまとめて格納する方式。末尾に符号を示す4ビットのコードを付加することで正負も表現できる。
パック10進数のイメージ画像

10進数の各桁は「0000」(0)から「1001」(9)までの4ビットパターンに置き換えられる。パック10進数では、これを2つ並べて1バイト(8ビット)を構成し、1バイト10進数2桁の数値を収める。

最下位バイトの下位4ビットには符号コードを格納する。正数には「1100」(16進数でC)、負数には「1101」(同D)を用いるのが一般的だが、処理系によっては正数に「1111」を用いる場合もある。偶数桁の数値では、桁数と符号コードを合わせたビット数が8の倍数にならないため、先頭に「0000」を補って整数バイトに調整する。

コンピュータが数値を扱う際は2進数で表現するのが一般的だが、パック10進数では人間が数の表記や計算に用いる10進数をそのまま格納する。これにより、2進数による演算で生じがちな10進小数の丸め誤差を避けやすく、金融や会計における金額計算など、正確な10進演算が求められる用途に適している。同じく2進化10進数の表現形式の一つである「ゾーン10進数」では1バイトで1桁を格納するが、パック10進数は1バイトで2桁を格納するため、同じ桁数の数値を約半分の記憶容量で保持できる。

この形式は米IBM社のメインフレームで古くから標準的に採用されており、事務処理ソフトウェアの開発に適したプログラミング言語の「COBOL」でも組み込みのデータ型として定義されている。現在でも基幹業務システムレガシーシステムとのデータ交換において扱われることがある。

(2026.6.29更新)
 

他の辞典等による「パック10進数」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。