BCD(Binary Coded Decimal)とは
BCDとは、Binary Coded Decimalの略名で日本語では2進化10進数の事である。 通常アセンブラでは16進数の0x0-0xfまでを利用するが、2進法と10進法を対にして 利用する方式で、10進数の0-9までの0x0-0x9までを利用するデータの種類である。
10進法と2進法の対応表
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
アンパック方式
10進数1桁を1バイトであらわす。
たとえば5239をアンパックBCDであらわすと以下のようになる。アンパック形式の場合下位4bitのみで
10進数を表現し、上位4bitは任意の数値でパディングする。
0000 0101 0000 0010 0000 0011 0000 1001
パック方式
10進数2桁を1バイトであらわす。先ほどの5239をパック形式BCDで表すと以下になる。
0101 0010 0011 1001
いつ利用するか?
昔はCOBOLでよく使われていたらしいがJavaなど最近の言語では直接利用することは少なく 情報処理試験の問題として出題されることが多い。

