学習の栞

学びたいことと、学ぶべきことと、学べることの区別がついてない人間の進捗管理

2の補数表現について

「2の補数表現で負の数を作るには,正の数の表現のビットを反転して1カウントアップする」という2の補数表現の解説に対する補足です.なぜこの方法で負の数を表現できるのかを補足します.

a : 32bitの整数
~a : aの反転


a + \tilde{} a = 2^{32}-1 \\
a + \tilde{} a \equiv -1 (\mod 2^{32}) \\
 -a \equiv \tilde{} a + 1 (\mod 2^{32})

というわけです.
あとはどの範囲を表現させるか決めればok.