2進数や16進数について勉強しているときに、BCD(2進化10進数)という単語が出てきた事はありませんか?
BCDは変換方法は簡単だけど、用途がよくわからなかったりします。
そこで、今回はBCDについて変換方法や用途も含め、わかりやすく解説していきたいと思います!
BCD(2進化10進数)とは?
BCD(2進化10進数)とは、「Binary Coded Decimal」の略で、10進数の一桁を4bitの2進数で表したものです。たとえば、10進数の「351」をBCDにすると、3、5、1をそれぞれ2進数に直して、「0011 0101 0001」になります。
BCDでは10進数の一桁を必ず4桁の2進数で表します。10進数の「1」は、BCDでは「0001」のように前に0をつけて表現されます。
また、10進数では一桁に0~9の数字までしか使わないため、BCDの各4桁には0000~1001までのパターンしか使われません。
10進数の10は2進数だと「1010」と表されるますが、BCDだと「00010000」と表されます。
あくまで主役は10進数で、各桁が2進化されてるだけなんだね
BCDへの変換方法
BCDの変換は先程の例のように、10進数で表された各桁を4桁の2進数で表記するだけで大丈夫です。
10進数の0~20までのBCDへの変換表は下のようになります。
BCDは16進数で見たときに10進数と同じ表記になっていることがわかりますね。
BCDのメリットや用途は?
BCDのメリットは上の表を見て分かる通り、BCDの16進数表記を見たときに人間が理解しやすいということです。
コンピュータの中ではデータは2進数で扱われ、レジスタなどに保存されます。開発やシミュレーションでレジスタの中身を人間が確認する際は、2進数より見やすい16進数が使われます。このとき、普通の16進数ではアルファベットが含まれたり、各桁の重みで10進数とはずれていくため、16進数と10進数の対応が分かりにくくなります。
BCDに変換してから保存することで、16進数は10進数と同じ見た目になるため、人間がレジスタの内容を理解しやすくなります。
BCDは時計や温度計などの表示を行う電子回路で利用されます。
0~9の数字を表示できる素子が並んでいるとします。データが2進数で保存されている場合は10進数へ対応するように変換してからでないと数字が表示できませんが、BCDで保存されている場合、各桁4bitを直接各素子に送ることによって各桁の数字を表示できます。
まとめ
今回はBCDについてまとめました。
少し説明がややこしかったかもしれません。。。
BCDは変換自体は簡単ですが、活用法となるとコンピュータの中の話になるので急に難しくなりますね。
コメント