情報:IT
高校生
解決済み

(1)の答えなんですけど、どうして最終的な答えが0110になるのか教えてほしいです💦

2. 次の2進数の差を2の補数を用いて求めなさい (1) 1101←被減数 1101 011 -減数 0110 ) +(1001 ) /01 | 0 ) (2) 1110 1110 +(1101) (/1011) 0011 (1011 ) 論理回路

回答

✨ ベストアンサー ✨

補数とは「足して繰り上がる最小数」と定義されています。例えば、本題の「 0111 」だと「 1 」足せば繰り上がって「 1000 」となります。

ここからは、昔の方が見つけたアイデアと発見だと思うのですが、「先頭ビットが1なら負としようぜ!」と「ビットを反転して1足したらマイナスになったぁぁぁ」と当時の方々の歓喜の表情を思い浮かべます。

ご質問の「どうして、そうなるのか?」は、「昔の人のアイデアと発見」という答えでよろしいでしょうか?

補足:僕が高校の時は、ビットを左にシフトしたら「なんと2倍になったぁぁ」という方が驚きました^_^。あと、昔の人がなんでそんな発明をしたかと考えると、電気回路は、ON/OFF したり、電圧を反転( NOT )するのは簡単だったからじゃないかなぁと想像してます。

最終的な答えが0110になる理由を知りたいです😭
学校からはまず、減数の方(0111)を0と1反転させてから1を足す。と習ってその方法でやっているのですが…😭

かずさん

そうですね。あれ?っと僕も思いました。

「 10110 」までは理解できるけど、何故最初の1ビットが外れて、答えが「 0110 」となるか?ですよね。

電気回路で考えると、例えば4つ箱(コンデンサーまたはメモリ)があって、この中に電荷(ここでは「 1 」)か入って行くものとすると、繰り上がってはみ出た「 1 」は、どこにも残らないから「 0110 」となる。

こういう説明は理解できそうでしょうか?それとも、余計わけ分からないでしょうか^ ^;

5つ目の1はないものとして考えるということでしょうか?

5つ目の1は符号です。-表記です。
例えば50を2の補数で表すという問題があった時、元の数では-を表すことが出来ませんが、2の補数で表すことで-表記で表せることが出来ます。

そもそも2の補数は、元の2進数の値を
2進数が4つ
例 1011 などがあったら、全て0になるような値が2の補数です。
この場合は10101となり先頭の1は-という意味です。なんで-なのか。元々2進数は4つしかないのに5つ目が出て来るからです。

かずさん

「5つ目の1はないもの(略)?」
うんうん、そうそう。枠からはみ出てるからね。

初め、「僕も最初の1ビットは負・・・」と説明しようと思ったのですが、そうすると、「 -0110 」となり、答えがマイナスとなっておかしいことに気付きました。

そこで、発想を変えて、四つの箱の中からはみ出したという考えに変えました。

かずさん

ちなみに、いつも4個の箱( 4bit )とは限らないので、その辺りは、出題に対する想像ですよね。

5つ目〓符号なんですね!
なるほど!
わかりやすい説明をありがとうございます🥲
お陰様で解決できました🥲
本当にありがとうございます😭

この回答にコメントする
疑問は解決しましたか?