コンピュータの数値表現
2の補数は、ビット毎のNOT演算を施した後に1を加算することで得られる。例えば、
したがって、
この方式では整数であれば、16ビットで −32768 から 32767 の範囲、32ビットでは −2147483648 から 2147483647 の範囲を表現する。
2の補数の利点は、加減算かつオーバーフローを考えない範囲に結果が収まるような範囲に限定すれば、符号を気にせず符号無しの整数と同様に扱える点である。
例えば、5 + (−5) は以下のようになる。
ここで、数値は4ビットで表しているので、演算結果も4ビットでなければならず、したがって先頭の1は捨てられ、結果として期待した通りの0が得られる。
演算において符号を気にする必要がないのは、2 を法とした合同式になっているためである。例えば、15 ≡ −1 (mod 16) である。コンピュータは一般に固定のビット数で数値を表すので、法が一定であり理想的である。2の補数表現と符号なし表現の違いは、大小比較方法と表示方法である。