10進数の0~9に対応した4ビットの2進数で10進数の各桁を表現する方法。
(BinaryCodedDecimalcode:2進化10進コード)
BCDコードでは、4ビットを単位として0000~1001までの0~9に対応させて、1010~1111は使用しません。
10進数の桁数に合わせて2進数の桁数も変化する可変長形式の表現です。
ゾーン10進数(アンパック10進数)とは、10進数の1桁を1バイト(8ビット)で表現します。
上位4ビットをゾーン部、下位4ビットを整数部といい、整数部はBCDコードと同じ表現を用います。
ゾーン部は、JISコード形式では(0011)、EBCDIC形式では(1111)を割り当てます。これは0~9の値をそのままそれぞれコード形式の'0'~'9'に対応させることになるので、10進数値と文字コードの対応がとれて都合が良いのです。
最下位桁のゾーン部は符号部として使用し、正の場合は(1100)、負の場合は(1101)を割り当てます。
BCDコードを使い、10進数の各桁の値を4ビットの2進数で表現するため、1バイトに10進数の2桁を記憶できます。
符号は最下位バイトの下位4ビットに入れます。
パック10進数表記法の長さは、バイト単位で決定されるので、6桁であっても7桁であっても4バイト(32ビット)分必要となります。