2の補数 【two's complement】
概要
2の補数(two's complement)とは、ある自然数を2進数(2進法)で表現した時に、足し合わせるとちょうど桁が一つ増える最小の数のこと。コンピュータにおける負の整数の表現や数値演算などに応用される。2進数における「基数の補数」と呼ばれる数で、ある数に足し合わせることで桁が一つ増え、最上位桁(値は「1」となる)以外はすべて「0」となるような数を指す。例えば、8桁の2進数「10010110」に対する2の補数は「1101010」であり、両者を足し合わせるとちょうど9桁の「100000000」となる。
これに対し、元の数に足し合わせると桁上りせず最も大きな数(「1111…」とすべての桁が1になる)となる補数は「1の補数」(2進数における減基数の補数)と呼ばれる。コンピュータでは1の補数はビット反転(NOT演算)によって求めることができ、これに1を加えると2の補数となる。
なお、2進数に限定せず2の補数という場合は、3進数における減基数の補数を指す場合もある。元の数に足し合わせると桁上りせず「2222…」とすべての桁が2になる数のことである。
(2021.6.21更新)