2進数の四則演算をやってみる

こんにちわ。

2進数で四則演算ってどうやっているのか、まとめてみました。

コンピュータが苦手な方は、こんなもんか。。。ぐらいに思ってもらうだけでいい内容です。

コンピュータの中では単純化していくことこういう計算を繰り返し、繰り返しやっているんだなぁ。。。ぐらいで。

コンピュータの頭脳であるCPUの中で計算は行われるのですが、レジスタとよばれる数字を入れておく箱をいっくつか持っていて、それを足したり、引いたりして、その計算結果を別のレジスタと呼ばれる箱に入れてやります。

それが計算です。

スポンサーリンク
スポンサーリンク




2進数の足し算

2進数って「1」「0」と桁上がりをするかしないかしかありません。

たとえば、2進数で

 1+0

は、1です。

それが、

 1+1

だと、10とすぐに桁上がりして桁が増えます。

では、4桁の2進数の計算の例を出してみましょうか。

たとえば、

1101 + 1111

ですと、和は

11100

となります。

これ、ひっ算で書いてみるとかなり簡単です。

2進数の引き算

2進数の引き算もかなり単純です。

0-0 は、0です。

1-1 ももちろん、0です。

そして、

1-0 は、1になります。

そして、

0-1 は、上の桁から1を借りることになります。

なので、

110-001 の結果は 101 となります。

100-001 結果は 011 といきなり2桁上から1を借りてきます。

2進数の掛け算

さて、足し算や引き算は普通の小学校で習うような計算なので、わかりやすいと思いますが掛け算は、コンピュータの中ではちょっと特殊なことをしています。

本来、掛け算って一方の数 (被乗数) に対して他方の数 (乗数) の回数だけ繰り返し足し算をすることなんですよね。

たとえば、7×5って

7+7+7+7+7

という具合に7という被乗数を乗数であらわされるように5回足すという作業です。

コンピュータの世界でも、基本そういう作業をすればいいのですが、2進数の世界ではちょっと違うやり方があるということを知ってもらえたらいいかなと思います。

簡単な例からいくと10進数

7×2 = 14

で、考えてみましょうか。

2進数に直すと

111 × 10 = 1110

そして、

7×4 = 28

111 × 100 = 11100

このように乗数が2、4、8・・・と2のN乗の場合は、被乗数の後ろにN個の0を足して桁を増やしてやるという作業になります。

じゃ、先ほどと同じように7×5をやってみましょうか?

とりあえず、2進数に直すと

111 × 101

となります。

被乗数の101を分解してやると、

100 と 1になります。

まずは、100を掛けてやります。

2個0を足すんでしたよね。

111 × 100 = 11100

1については、変化なし

111 × 001 = 00111

じゃ、これを足してあげますか。。。

11100 + 00111 = 100011

で、35となります。

10進数の掛け算が、乗数であらわされる数だけ被乗数を足すのに対して、2進数では被乗数の桁数で1になっている個数だけ足す作業となります。

ただし、準備作業として乗数の桁ごとに必要な0を被乗数に足してあげる処理が発生しますけどね。

実際に最近のコンピュータはもっとスマートなやり方をしているはずですが、基礎の基礎はこんな感じです。

さて、ここまで来たら2進数の割り算となりますが、残念ながら説明が複雑になりそうで今回は割愛します。

掛け算までは整数で説明できますが、割り算の場合はあまりはどうするとか、小数になったらどうするとか、ちょっと説明が複雑になりそう。(笑)

このブログでは、コンピュータの苦手な人がちょっとでもコンピュータの扱いが楽になることを目指していますので、掛け算ぐらいまで知っといていただけたら、良しとしたいです。

今回も最後までおつきあい、ありがとうございました。

スポンサーリンク
スポンサーリンク




スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする