• ベストアンサー

2進数の計算間違いを教えてください。

この計算方法はどこが違うのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

引き算が違います。 添付図のように考えますが、わかるでしょうか。 2進で、 10-1=1 ですね。

その他の回答 (3)

noname#136901
noname#136901
回答No.4

上に書いてある2進数の引き算をやりたのですか? 下に書いてある2つの2進数の足し算は両方共に間違っています。 上の式の引き算を下に書いてあるような足し算で求めたいのなら、 最初はマイナスの2進数をプラスの2進数に変えます。(2の補数) *まずビット数を揃えます。 11011 → 0011011  その2進数のすべてのビットを反転させて1の補数を求めます。 0011011 → 1100100 次に1の補数(上記の2進数)に1を加えます。 1100100+0000001 = 1100101(これが2の補数です。) ここではじめて2進数の足し算ができます。    1010001 +  1100101 ----------------  10110110 で、これが回答です。0110110 = 54 一番左のビット(MSB)はキャリーオーバーですので無視。答えに書く必要はありません。 2進数の2の補数を少し勉強してくださいね。       

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.3

何をしたいのか、問題分がないので、今一良く分かりません。 符号なし2進数を扱っているのですか? それとも 2の補数法で符号付2進数を扱うのですか? この場合、符号長(ビット数)は何桁(何ビット)ですか? 2の補数法と符号なし2進数では先頭ビットの1の意味が全く異なるので明確にして下さい。 先ず、以上を明確に書いて下さい。 それから、上の式は引き算、下の左側の積み算は足し算、下の右側の積み算は引き算ですが、 やりたいのは、引き算だけで、積み算でやりたいのですか? それとも積み算の加算もしたいのでしょうか? 以上、補足に回答して下さい。 それにより回答も変わってきますので…。

  • B-juggler
  • ベストアンサー率30% (488/1596)
回答No.1

えっと、普通に引いてもいいのに、マイナスにしている過程で間違ってあるようですよ。 (110110)2 = (54)10 になるはずだけど? マイナスにする方法がどうも違うと思うよ。 下から四桁目じゃないかな? m(_ _)m

関連するQ&A

専門家に質問してみよう