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

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

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

2進数の引き算の基本は以下の4種類です。

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

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

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

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進数の「イチゼロ」です。

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

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

実際に2進数の引き算をやってみましょう。「1100」から「0011」を引くと以下のようになります。

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

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