1の補数 【one's complement】

概要

1の補数(one's complement)とは、ある自然数を2進数(2進法)で表現した時に、足し合わせても桁が増えない最大の数のこと。コンピュータではビット反転(NOT演算)によって求めることができる。

2進数における「減基数の補数」と呼ばれる数で、ある数に足し合わせても桁数が増えない数のうち、最も大きい数を指す。足し合わせた結果は元の数と同じ桁数ですべての桁が「1」になる。例えば、8桁の2進数「10010110」に対する1の補数は「01101001」であり、両者を足し合わせるとちょうど「11111111」となる。

2進数には「0」と「1」しかないため、どの桁も足した結果が1になるということは、元の数が「1」の桁では補数の同じ桁は「0」に、元の数が「0」の桁では補数の同じ桁は「1」になる。ちょうど元の数の各桁の「0」と「1」を反転させたものが補数となるため、ビット単位の論理否定(NOT)によって求めることができる。

これに対し、元の数に足し合わせるとちょうど桁が一つ増える最小の数を「2の補数」(2進数における基数の補数)という。足し合わせると「1000…」と最上位桁が繰り上がって下位桁がすべて0になる数で、1の補数に1を加えることで求めることができる。

(2022.10.25更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。