
補数(ほすう)とは、ある基準となる数から、目的の数を引いた「不足分」に相当する数値のことです。コンピュータの世界では、引き算(減算)を足し算(加算)の仕組みだけで処理するために補数が使われます。コンピュータの電子回路は基本的に足し算が得意なため、引き算専用の回路を作るよりも、引く数を「補数」という特別な数に変換してから足し算を行う方が、回路のデザインをシンプルにできるという大きなメリットがあります。補数には大きく分けて「1の補数」(各桁の0と1を反転させたもの)と「2の補数」(1の補数に1を足したもの)があり、コンピュータの負の数を表す際には主に「2の補数」が使われています。
10進数の「100」を基準としたとき、「65」に対する補数は「100 - 65 = 35」となります。また、4ビットの2進数で「3」(0011)から引き算を行うための「マイナス3」を作る例は以下の通りです。
元の数「3」の2進数表現:0011
各桁を反転(1の補数):1100
さらに1を足す(2の補数):1101 (これがマイナス3に相当)この「1101(マイナス3)」を「5(0101)」に足すと、「0101 + 1101 = 10010」となり、はみ出た最上位の1を無視すると「0010(2)」となり、正しく「5 - 3 = 2」が計算できます。