• ベストアンサー

2の補数

2進数の0と1を反転し,その結果に1を加えれば数の符号が変わるのはなぜですか?

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

  • ベストアンサー
noname#50176
noname#50176
回答No.2

まず8ビットの数値“127”で考えてみます。 01111111 となりますが、2の8乗=256個のうち半分は プラス(128個)、残りはマイナス(128)になります。 0は符号抜きですのでプラスは(127個)となります。 反転させると、10000000=-128 符号を変えるのですから -127=-128+(1) ですね。 さらに-127は、符号なしですと256-127=129 ですから、 反転する(戻す)と、01111110 で126 となりますから、 126+(1)=127 で整合しますね。 (1) を1足す意味と解釈してください。

TOMA3566
質問者

お礼

他のサイトを見ても内容がよく分からなかったのですが、短い分で完璧に理解できました。本当ににありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

> 2進数の0と1を反転し,その結果に1を加えれば数の符号が変わるのはなぜですか? そう定義しているからです。

すると、全ての回答が全文表示されます。

関連するQ&A