• ベストアンサー

2進数の引き算

2進数の引き算の方法がいまいちわかりません。 1 0 1 1 0 1 0 0 ------- 0 1 1 1 上のような式なら下から三桁目で0から1は引けないから上の桁から1を借りてきて10 - 1という計算をするのですよね?? 1 0 1 0 0 0 1 0 0 1 ----------- 上のような場合、1桁めで上の位から1を借りようと思っても、2桁目が0なので、どうしたらよいのか分かりません。10進数なら9になるのは分かるんですけど、二進数の場合どういう計算になるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#135138
noname#135138
回答No.1

簡単に考えると、 1 0 1 0 0 0 1 0 0 1 ----------- から 1 0 0 1 2 ←(2進数ですがあくまでも考え方として「2」と示します。) 0 1 0 0 1 ----------- よって 0 1 0 1 1 となります。

candlefire
質問者

お礼

なるほど~。2を借りてくる、という考え方なのですね! 分かりやすい説明をどうもありがとうございました。 理解できました。

その他の回答 (2)

  • alpha123
  • ベストアンサー率35% (1721/4875)
回答No.3

上の桁から10借りてくるのは10進数です。質問の例では2借りてきて1引くので答えの下から3桁目は1になります。 (100)-(001)では(020)-(001)、、(012)-(001)=(011) こういう場合の2や10進数計算での10借りてくる(2や10で繰り上がる)はそろばん考えるとわかりやすいです。古いそろばんは上が5、下に1が5つあって10あらわしました。 2進数そろばんは上が1が1つ、下も1つだけ玉があってあわせて2で繰り上がります。

candlefire
質問者

お礼

2を借りてくる、という考え方がよく分かりました!! 詳しく説明していただきどうもありがとうございました。 そろばんですかぁ~。苦手ですけど、考えてみます。ありがとうございました。

  • shinpu
  • ベストアンサー率44% (154/349)
回答No.2

>1桁めで上の位から1を借りようと思っても、2桁目が0なので、どうしたらよいのか分かりません。 3桁目の1を借ります。 100 から 1 を引きます。 100-001=011 例えば、10000-1の場合、 5桁目の1を借ります。 10000-1=01111 となります。  質問の答えは 10100-01001=01011 となります

candlefire
質問者

お礼

3桁目の1は気になっていたのですが、そこから借りてこればよいのですか~。 100-001=011 となることがよく分かりました。どうもありがとうございました。

関連するQ&A