|
|
二進化十進数 (BCD、Binary-coded decimal )とは、コンピュータにおける数値の表現方式の一つで、十進表現での1桁を、0から9までを表す4桁の二進数で表したものである。「ニ進化十進符号」などとも呼ばれる。
一般に4桁の二進数は、0から15までの整数を表すことができるが、二進化十進法ではこのうちの最初の10個を有効な数値として扱う。
| 十進数 | BCD表現 | 十進数 | BCD表現 |
| 0 | 0000 | 5 | 0101 |
| 1 | 0001 | 6 | 0110 |
| 2 | 0010 | 7 | 0111 |
| 3 | 0011 | 8 | 1000 |
| 4 | 0100 | 9 | 1001 |
二進法で計算を行う多くのコンピュータでは、このBCD表現を使用しての結果は、しばしばこの有効範囲を超えるために、計算後に改めて補正を行う必要がある。 メインフレーム、例えばNECのACOS-6シリーズなどの大型のコンピュータに使用されるプロセッサでは、BCDを直接処理できる機械語命令を備え、事務処理演算の効率化を図っていおり、また、小型のコンピュータでも、この補正の処理を簡単にする命令を備えることも少なくない。
BCDで数値の正負を扱う必要がある場合には、その絶対値とは別の領域に符号を格納することで表現する。例えば、インテル社の32ビット・アーキテクチャ「IA-32」で使用される「80ビット・パックドBCD整数」では、先頭から72番目までのビットで18桁の十進数を表し、末尾の80番目のビットに符号を格納している。
2進化10進数には、ゾーン形式とパック形式があり、用途に応じて使い分けられる。