1. BCDとは
BCDは、Binary-Coded Decimalの略で、10進数を2進数で表す方法の一つです。通常、10進数の各桁は、0から9までの10種類の数字で表されますが、BCDでは、各10進数の桁を4ビットの2進数で表します。
例えば、10進数の「123」は、BCDでは以下のように表されます。
1 -> 0001
2 -> 0010
3 -> 0011
したがって、123はBCDでは「0001 0010 0011」となります。
BCDは、デジタルシステムやマイクロプロセッサで数値を扱う際に、人間が理解しやすい10進数を効率的に扱うために使われます。ただし、BCDはメモリを効率的に使う2進数表記に比べて、メモリの消費が多くなるため、利用する際にはそのトレードオフを考慮する必要があります。
2. コード表
10進数 | BCD (8421コード) |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
3. ASCII、EBCDICとの比較
BCDとASCII、EBCDICでの数字の扱いを見て見ると、BCDは4bitのみ使っているのでASCIIもEBCDICも下位4bitはBCDと同じになっています。しかし文字などを扱うために拡張されて8bit(7bit)使うようになっているため上位4bitはASCIIとEBCDICは異なる値となっています。
digit | BCD | ASCII | EBCDIC |
0 | 0000 | 0011 0000 | 1111 0000 |
1 | 0001 | 0011 0001 | 1111 0001 |
2 | 0010 | 0011 0010 | 1111 0010 |
3 | 0011 | 0011 0011 | 1111 0011 |
4 | 0100 | 0011 0100 | 1111 0100 |
5 | 0101 | 0011 0101 | 1111 0101 |
6 | 0110 | 0011 0110 | 1111 0110 |
7 | 0111 | 0011 0111 | 1111 0111 |
8 | 1000 | 0011 1000 | 1111 1000 |
9 | 1001 | 0011 1001 | 1111 1001 |
4. 参考情報
BCDについて詳しく学ぶための主な参考資料をご紹介します:
公的規格・標準文書:
- BCDの基本的な規格を定めた国際標準
- ISO公式サイト(https://www.iso.org)で閲覧可能(有料)
- decimal浮動小数点形式について詳細な仕様を規定
- IEEE公式サイト(https://standards.ieee.org)で入手可能(有料)