補数
補数とは、ある自然数をn進数(n進法)で表現した時に、足し合わせるとちょうど「nのべき乗」か「nのべき乗-1」になる自然数のうち、最小のもの。前者は「足すとちょうど桁が一つ増える数」で、「基数の補数」とも呼ばれる。後者は「足しても桁が増えない最大の数」で、「減基数の補数」とも呼ばれる。
補数とは - 意味をわかりやすく - IT用語辞典e-Words
1の補数
1の補数は足し合わせると全ての桁が1になる数である。
8の1の補数を考える。
8は1バイトで0b00001000と表現できる。
8の1の補数は0b11110111である。
2の補数
2の補数は1の補数に1を足した値である。
8の2の補数は0b11111000である。
補数の応用
2の補数を使うと引き算をすることができる。
10 - 8を考える。10 - 8 = 10 + (-8)
10は0b00001010である。
8は0b00001000である。
8の1の補数は0b11110111である。
8の2の補数は0b11111000である。
0b00001010 + 0b11111000 = 0b000100000010
8ビットだから桁あふれ分は消滅して0b00000010 = 2となる。