• ベストアンサー

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

次の2進数の減算を2の補数を用いて計算せよ。 (1011)2 - (0101)2 お願いします。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.4

コンピュータのベーシックな部分では足し算しか できません。減算、乗算、除算は勿論、ナシです。 それにデジタルだから、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)しか残らないことになり、これが答です。

dis-_-ney
質問者

お礼

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

その他の回答 (4)

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.5

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

dis-_-ney
質問者

お礼

わざわざありがとうございます!! 情報処理2種とか難しそうですね… 頑張ってください($・・)/~~~

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.3

(0101)2の2の補数は(1011)2 ※2の補数は1の補数(1010)2+(0001)2 (1011)2+(1011)2=(10110)2 だけど、キャリーは無視するので(0110)2

dis-_-ney
質問者

お礼

右から5桁目の"1"は無視するんですね!! なるほど\(◎o◎)/ 回答ありがとうございました($・・)/~~~

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

#1さんの回答、答えは合っているけど2の補数は何処いっちゃった…。 (0101)2を2の補数表現で表すと、  ↓(反転させて) (1010)2  ↓(1を加えて) (1011)2 これを(1011)2に加える。  (1011)2 +(1011)2 ---------- (10110)2 最上位ビットは、桁あふれなので、答えは (0110)2

dis-_-ney
質問者

お礼

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

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.1

まったくなーうちらは他人のテストの回答者じゃないんだがなー 1011 0101でしょ? 最初に0桁目1-1=0 1010 -0100 んで、次のマイナスビットが2桁目0-1=-1 上位から補填して10-1=1 なので 0110 -0000 で答えは、0110または6だね OK?

dis-_-ney
質問者

お礼

2の補数使わなくても解けるんですね!! ありがとうございました($・・)/~~~

関連するQ&A

  • 【初心者から質問】 2進数の減算について

    学校で「アセンブラ言語」について学び始めました。 「2進数の減算」が分かりません。 ・減算は負の数の加算でおこなう。 ・負の数は2の補数であらわす。 ・補数を導き出すには「ビット反転」と「+1」する。 この3つのルールのことは何となくわかります。 では、  0110 1001 -0010 1100  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  の計算の仕方を教えていただきたいです。   0110 1001 -0010 1100  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   1101 0011  (ビット反転) +1101 0100  (+1する)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  自分でやってみましたが、この先がわかりません。 (つまり負の数を加算する部分が分からないです) この先の答えと、計算方法を教えてください。 よろしくおねがいします。

  • 2の補数を使った計算

    ある計算機があり、2の補数を「ビット反転して1を加算する」方法とするときに10進数の計算「100-80」を2の補数を使って計算する場合は16進数で表すと幾つと幾つの加算になるのでしょうか?? 2の補数を使うというのがよくわからないのですが・・・

  • 補数について質問です。「次の10進数を8ビットの2の補数に変換せよ」(

    補数について質問です。「次の10進数を8ビットの2の補数に変換せよ」(1)-111 まず絶対値をとり111にする。次に111を2進数で表す。0001 0001 0001となりますが、8ビットの2の補数に直すため0001 0001 0001の部分は8桁にしなくてはいけませんが、12桁になってしまいます。こういう場合どうすればいいのですか?

  • 補数と進数

    補数というものがよくわかりません。 参考書を読んだのですが、いまいち理解できませんでした…。 (0111 1110)※2(小さい2は※2と表記します)の2の補数を求めろ、という問題は、どのようにして解けばよいのでしょうか。 また2進数についてなのですが、2進数を用いて(38+18)を計算せよ、という問題があります。 これは、(3×2の1乗+8×2の0乗)+(1×2の1乗+8×2の0乗) =6+8+2+8=14. …で答えは14??と思ったのですが、答えもないのでわかりません; 全然違っていたら是非解き方を教えてください。

  • 2の補数表現2進数が表す10進数は?、

    次の2の補数表現の2進数が表す10進数はいくらか? 1111 1111 1111 1111 1111 1111 1111 1111 という問題があるのですが、 これを解くと、まず、上のビット列は2の補数表現なのだから、これはマイナスですよね?そして、次にビット列を2の補数を求めるやり方でやると元の数がわかりますよね(この辺がいまいち解っていない)? という事は全ビットを0にして、最下位ビットに1を 足せばいいから0000 0000 0000 0000 0000 0000 0000 0000 + 1 =0000 0000 0000 0000 0000 0000 0000 0001 となります。10進数だと 1を表すから答えはー1という事になるのでしょうか?お願いします。

  • 補数と進数とビット

    明日テストなのですお願いします 次の10進数を2の補数を利用して()内のビット数で2進数に直して下さい。 問1 -6(4ビット) 問2 -102(8ビット) 10進数から2進数への直し方はわかります。-の補数がよくわかりません。 お願いします

  • 9の補数の意義

    9の補数はどのような事に使えるのでしょうか? 1の補数や2の補数、10の補数は減算に使えるのは知っているのですが、9の補数がいまいち利用方法がわかりません。

  • 10進数の補数

    基本情報のテキストのコラムに載っていたことなのですが理解できません 「10進数の補数の場合だと、9の補数と10の補数があることになりますね。 たとえば、2桁の範囲で考えると、 70の9の補数は99-70=29、 10の補数は100-70=30、 となりますね」 ・・・ 意味が・・・わかりません 一応、1の補数、2の補数 については勉強したばかりで理解できているつもりです。 教えてください。 お願いいたします

  • 16進数の補数の求め方

    16進数の場合(ADFの補数を求める) 16の補数 1000 - ADF = 521 15の補数 FFF - ADF = 520 の求め方が分かりません。 是非、教えてください。

  • 2の補数について

    情報処理試験(基本情報)用の考え方という前提でお聞きします。 「負数を2の補数形式で表現する2進数の計算で・・・・」という問題がよくあります。 この問題文の中で「10101」などの数(これは5ビットの符号付2進数とします) として記述されているものは、もう2の補数になっていると考えていいのでしょうか? それともこれを、今から2の補数に直すのですか? (もし直すのであれば、最上位ビットの符号が変わるのでしょうか?) 違う言い方をしてみますと「A」の2の補数が「-A」だとしたら、 「-A」の2の補数は「A」になるんでしょうか? それとも「そんな表現はない。-Aの時点ですでに2の補数だ」という ことになるのでしょうか? 解りにくくてすみません。