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

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

A 回答 (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足す意味と解釈してください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/01 23:26

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



そう定義しているからです。
    • good
    • 0

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