2の補数

2の補数を使って加算演算する場合、

  1. 計算結果もまた2の補数として表現される
  2. 最上位のビットが桁上がりする場合はそれを無視する
  3. 計算結果が表現可能な範囲に収まらない場合もある(オーバーフロー)

2の補数表現について、nビットで表現可能な範囲は、-(2^{n-1})2^{n-1}となる。例えばn=4のとき-3_{10} + -5_{10} = 1101_{2} + 1011_{2} = 1000_{2} = -8_{10}でOKだが、-4_{10} + -5_{10} = 1100_{2} + 1011_{2} = 0111_{2} \neq 7_{10}となってしまう。