アプリ版:「スタンプのみでお礼する」機能のリリースについて

次の2進数の減算を2の補数を用いて計算せよ。

(1011)2 - (0101)2

お願いします。

A 回答 (5件)

コンピュータのベーシックな部分では足し算しか


できません。減算、乗算、除算は勿論、ナシです。
それにデジタルだから、3.14なんてのも無い。

先ずは存在しないはずの減算の実現手段をどう
やって行うかが、この問題の骨子ですね。
「11から5を引く」→「11に-5を足す」という
方法で解決します。それでは(+5)→(-5)をどう
するか?これが「2の補数」というやり方です。
方法は「0と1を反対にし、1を足す」です。

-(0101)2 → +(????)2
0101の0と1を反転 → 1010
これに1を足す。 → 1011
つまり、????は1011

最初の問題は以下のように変換できます。
(1011)2 + (1011)2

これを計算すると、(10110)2になりますが、
コンピュータの入れ物(桁)には限界があります。
この場合は4桁しか入らない前提なので、先頭の1は
特に手当をしない限り捨てられます。つまり、後ろの
(0110)しか残らないことになり、これが答です。
    • good
    • 0
この回答へのお礼

とてもわかりやすい回答ありがとうございました。

授業で習った通りにやると、(10110)2までは計算出来てたんですけど、あとあと考えると、10進数で計算すると6なのに、この答えだと、6にならない…と疑問でしょうがなかったんです(-_-;)
授業でも説明してくれなくて…

本当助かりました。

お礼日時:2010/05/29 21:44

edomin7777 wあ・・・ミスったw


補数かww
neg(w)Z80
情報処理2種の問題にこれがありましてねw
当時
2進法の10/100これがわからなかったw
ま、関係ない話なのでごめんなさい
    • good
    • 0
この回答へのお礼

わざわざありがとうございます!!

情報処理2種とか難しそうですね…
頑張ってください($・・)/~~~

お礼日時:2010/05/29 21:49

(0101)2の2の補数は(1011)2


※2の補数は1の補数(1010)2+(0001)2
(1011)2+(1011)2=(10110)2
だけど、キャリーは無視するので(0110)2
    • good
    • 0
この回答へのお礼

右から5桁目の"1"は無視するんですね!!
なるほど\(◎o◎)/

回答ありがとうございました($・・)/~~~

お礼日時:2010/05/29 21:55

#1さんの回答、答えは合っているけど2の補数は何処いっちゃった…。



(0101)2を2の補数表現で表すと、
 ↓(反転させて)
(1010)2
 ↓(1を加えて)
(1011)2
これを(1011)2に加える。
 (1011)2
+(1011)2
----------
(10110)2
最上位ビットは、桁あふれなので、答えは
(0110)2
    • good
    • 0
この回答へのお礼

詳しい回答をありがとうございました!!

(10110)2までは持っていけたんですけど、それからどうやればいいのかわからなかったんです(-_-;)
ただ、無視すればよかったんですね☆
わかりました!!
授業でも説明なかったんで、とても助かりました($・・)/~~~

お礼日時:2010/05/29 22:01

まったくなーうちらは他人のテストの回答者じゃないんだがなー


1011
0101でしょ?
最初に0桁目1-1=0
1010
-0100
んで、次のマイナスビットが2桁目0-1=-1
上位から補填して10-1=1
なので
0110
-0000
で答えは、0110または6だね
OK?
    • good
    • 0
この回答へのお礼

2の補数使わなくても解けるんですね!!

ありがとうございました($・・)/~~~

お礼日時:2010/05/29 22:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!