• ベストアンサー

2進数の計算

127 + (-3) の計算ですが 普通に10進数で計算してから124を2進数に直しても良いのですが、 敢えて2進数での計算方法を教えていただけませんでしょうか。 127は1111111ですが -3は8ビットで表さなければならないのでしょうか? その場合、足したり引いたりしても良いのでしょうか?

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

  • ベストアンサー
  • info22
  • ベストアンサー率55% (2225/4034)
回答No.2

> -3は8ビットで表さなければならないのでしょうか? それでOKです。 足すのはそのまま足します。 引き算は2の補数に変換して足します。 8ビットの2の補数法を使います。 この方法では-128~+128の範囲の2進数を扱えます。 +127=01111111 +3=00000011 -3=11111101 (2の補数で、+3に加えると00000000となります。 +127+(-3)= 01111111 11111101(+ ----------- 01111100 = 124 となります。

mamoru1220
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.1

こんばんは。 小学生のときに習った、引き算の筆算と同じことですよ。  1111111 -     11 -------------------  1111100 繰り下がりがなくて簡単すぎるので、もう2問。 5 - 2 = 3  101 - 10 --------------   11 9 - 2 = 7  1001 -  10 ------------------   111 >>>-3は8ビットで表さなければならないのでしょうか? それはそれで、一つの考え方ですけどね。

mamoru1220
質問者

お礼

ありがとうございました。

関連するQ&A

  • 2進数の計算について

    2進数の計算について分からない問題があるのでお願いします。 (1) 2進5ビットの数値で,01001をバイアス表示とみるとき,10進数ではいくつか (2) 10進数の4を2進5ビットで表す.バイアス表示を用いると,どのように表されるか. できるだけ詳しい回答くれるとありがたいです。

  • 2進数の計算について

    次の計算について教えてください。(答えは8ビット2進数でお願いします) (1)00010110×00000110 (2)11101011÷00111011 よろしくお願いします。

  • このような計算はできるでしょうか?

    現在 「2バイトの数値」から「ビットが1である数」を求める 計算を行おうと思っています。 例えば、2バイトの数値が「222」の場合 →ビットに直すと「11011110」となり →ビットが1である数は「6」となります。 この計算をVBで行いたいのですが、 効率的に行える方法はないでしょうか? AND演算を行い1ビットずつカウントすると いう方法を考えたのすが、判定の時IF文がはいってしまうため 処理速度が遅くなり、困っております。 どなたか、お気づきの方はご教授ください。

  • 負の2進数の表示がわかりません

    Q1:負の数(例えば10進数の[-2])を2進数,4ビットで表すには, 1010(MSDの[1]は[-]を表して,後半の3桁は[2])か 1110([0001]の2の補数) どちらが正しいのですか?(学校ではどちらも習いました) またQ2のような計算をするには補数による表示でないとなりませんか?(絶対値に符号をつけるだけだと計算が合いません) Q2:4ビットで表された2進数の計算で    0101-0010=0101+(1110)=10011 となり,答えが5ビットになってしまいます.下4桁で考えると答えが合っている気がします.これで合っていますか?

  • 計算が出来ません!!(><)

    4ビットで計算をしたいのですが、分らないので教えて下さい。10進数で教えて下さい。 (1)0011-0110 (2)1110+1101 (3)1110+0111 計算方法も教えていただけたら嬉しいです(><)

  • 2の補数を使った計算

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

  • 2進数の計算

    2進数の計算 10進数の0.3125を2進数に直しなさい。 答え:0.0101 これの計算方法が全く分からないのですが、どなたかご教授願います。

  • 10進数が何ビット必要かを出す計算式

    10進数Nが2進数で何ビット必要かを出す計算式を教えて下さい。 できたら解説もしてもらえたら嬉しいです。

  • 16進数の計算について

    16進数の計算について いつも参考にさせていただいております。 16進数の計算でご質問させてください。 0x00000100 0x00001000 0x00002000 0x00000200 上記の4つの値について「論理和(|)文字を使用して、(中略)エラー例外を複数指定できます。」 とあり、値を設定をしたいのですが、「論理和(|)文字を使用して」の意味がよくわかりません。 これは論理和の計算結果なのか、それとも他に表現方法があるのでしょうか? 計算結果の場合、この4つの論理和はいくつになるのでしょう? 他に表現方法がある場合、どのような表現方法になるのでしょうか? 何卒、ご教授お願いいたします。

  • 16進数から10進数への計算

    16進数から10進数の計算について質問です。 23.5Cという問題があった場合、5Cの部分の計算について質問で、そこは小数点の部分です。 式が、5 x (1/16*1) + 12 x 1/16*2)とか書いてあったのですが、なぜ16分の1の二乗になるのかわかりません。1/10、1/100と、10進数のマイナスの小数点の場合はなっていくのではないでしょうか? すごくわかりやすく説明していただければ助かります。 小学生の子どものように。全然わかりませんので。