2進数の引き算(減算)の方法

ここでは、2進数の引き算(減算)の方法を解説します。

2進数の引き算は10進数の引き算とほとんど変わりませんが、10進数では0から9の10種類の数字が使えるのに対して2進数では0と1の2種類の数字しか使えないので、ケタ借りをしてくるときに注意する必要があります。

2進数における、引き算の基本は以下の4種類しかありません。

① 1 – 0 = 1
② 1 – 1 = 0
③ 0 – 0 = 0
④ 0 – 1 = 1 (上のケタからケタ借り)

①、②、③は、10進数と考え方が同じなのでそのまま覚えてしまいましょう。

ただ、10進数と直観的に違うのは、上にもカッコ書きしていますが、④の「0 – 1 = 1」 になるところです。。「1」となる理由は、計算をする前提が上のケタからケタを借りることが考えられているからです。

なお、2進数になじみがないと、うっかり10進数の考え方を適用して、「0 – 1 = -1(マイナス1)」と思ってしまうかも知れませんが、ここではあくまで正の整数(マイナスではなくてプラスの数)として考えてみてください。

ちなみに、2進数では、負数(マイナスの数)を扱いません。2進数でマイナスの計算をしたい場合には補数という考え方をします。具多的には、こちらのページをご覧ください。

0 -1 = 1 になる理由

「0 – 1 = 1」になるのは、2進数にで考えるには初めは理解しづらいかも知れませんので、まずは10進数で解説します。

10進数で、0から1を引くためにはどうすればいいでしょうか。

2進数の引き算と同じように、上のケタからケタを借りることを前提で、筆算で考えてみましょう。

このように、一の位では、0から1は引けないので、上のケタ(十の位)からケタを借りて 「10 – 1 = 9」 とするのが10進数でのケタを借りるということです。

これと同じように、2進数でも、上のケタからケタを借りることを前提にしているわけです。

このように、一の位では、0から1は引けないので、上のケタから1を借りて、「10 – 1 = 1」とするのです。

ちなみに、上の「10」は10進数の「十」ではなくて、2進数の「イチゼロ」です。

なお、2進数でいう「10」は10進数でいう「2」で、「1」は2進数でも10進数でも「1」なので、10進数の計算で言うと、「2 – 1 = 1」となるので、「1」になるということです。

2進数では、「0-1=1」になる理由はお分かりいただけましたでしょうか。

実際に計算してみましょう

ここまで理解したのであれば、もう2進数の引き算は怖くありません。

早速、実際に2進数の引き算をやってみましょう。

例えば、「1100」から「0011」を引くと以下のようになります。

このように、「1100 – 0011」は「1001」となることが分かります。

ケタを借りてくるところが、少しややこしいかもしれませんが、10進数の引き算でも同じことをやりますので、理解するのはそこまで難しくないですね。

最後に、答え合わせとして10進数でも計算しているみると、2進数の「1100」は10進数では「12」、「0011」は「3」、そして「1001」は「9」なので、それぞれをあてはめて「12 – 3 = 9」なので計算が間違っていないことが分かります。