2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BCD符号について

Posted at

B.C.D符号について

B.C.D符号 (Binary Coded decimal code)は*符号体系のひとつで、二進化十進符号とも呼ばれる。

*符号体系:人間界の言葉(10進法)とからコンピュータが理解できる言語(2進法)へと変化する符号化(エンコード)とその逆の操作となる復号化(でコード)のことである。

B.C.D符号の例

まず。記述方法を234(10)==>10進法の234とする。

十進数の各桁を2進数の4ビットで記述。
例えば、

234(10) = 0010 0011 0100 (B.C.D.) と記述できる。(下記に詳細記述)

・2 (10) = 0010 (2)
・3 (10) = 0011 (2)
・4 (10) = 0100 (2)

このとき、1010~1111 (10~15)は不適切表現となる。各桁1桁しか存在しないので…

B.C.D符号の加算アルゴリズム

普通の計算(人間界)

例)684+277 = 961について

  684 (10, B.C.D)
 + 277 (10, B.C.D)
 --------------------
  961 (10, B.C.D)  ←Answer!

このひっ算は単なる10進数の人間の数学界における常識的な算術方法である。しかし2進法のコンピュータには理解ができない。では、B.C.Dを用いることによりどのように計算できるか解説する。

コンピュータでの計算方式

10進数の数をそれぞれB.C.Dで書きなおしてみる。

684 (10) = 0110 1000 0100 (B.C.D)
277 (10) = 0010 0111 0111 (B.C.D)

下位4ビット同士の計算から始める。

0100 + 0111

 *0100 : 684(10)の4(1の位)を2進数で表したもの
 *0111 : 277(10)の7(1の位)を2進数で表したもの

  0100
 + 0111
 ---------
  1011

これは、2進法計算によりできる。このとき、__1011 (2) = 11 (10) となってしまい、不適切表現となってしまう__ので、この場合にはさらに、


+6(10) = +0110 (2)

  1011
 + 0110
 ---------
  10001 = 1(10)


の加算を行う。 どうしてこの加算を行うかというと、 10~15(1010~1111)に対して、+6(10) = +0110(2)を行うことで、必ず、2進数では4桁から5桁に桁上りがわかる状態となることが明白となる。あくまで、桁上りがするかどうかを見たいので、数字に対しては、影響は持たない。
これを次の桁においても同様のことをする。

1000 + 0111

 *1000 : 684(10)の8(10の位)を2進数で表したもの
 *0111 : 277(10)の7(10の位)を2進数で表したもの

  1000
 + 0111
 + 0001 ←桁上り分
 ---------
  10000

この数字においても10以上の数字を表すので、0110を加算。

  10000
 + 0110
 ---------
  10110 = '6' (10)


さらにもう一回。
0110 + 0010

 *0110 : 684(10)の6(1の位)を2進数で表したもの
 *0010 : 277(10)の2(1の位)を2進数で表したもの

  0110
 + 0010
 + 0001
 ---------
  1001 = '9' (10)
桁上りなしなので、この桁は、終了。

よって、今までの各桁で出てきた数字を1の位から並べると、
__9 6 1__となるので、人間界と同じ数が算出できる。

さいごに

符号体系の一つのB.C.Dについてちょっとだけまとめた。桁上りの部分だったりちょっと難しいけど、理解さえしてしまえばそんなに難しいことはしてない。わからなかったら、違うページでググってくれ。(笑)

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?