補数とは
補数とは1と0しか使えないコンピューターが負数を表現する方法の一つです
ある自然数をn進数(n進法)で表現した時に、足し合わせるとちょうど「nのべき乗」か「nのべき乗-1」になる自然数のうち最小になるものです。
・基数の補数
10進数の65という数に足し合わせるとちょうど一つ桁上りする自然数は、足すと100になる35であり「65に対する10の補数」という。
例)
3 の補数は 7 (10)
35 の補数は 65 (100)
358 の補数は 642 (1000)
・減基数の補数
10進数の65という数に足しても桁が増えない最大の数は、足すと99になる34であり、(10進数における)「65に対する9の補数」という。
例)
3 の減基数の補数は 6 (9)
35 の減基数の補数は 64 (99)
358 の減基数の補数は 641 (999)
・2進数における1の補数
「足しても桁上がりしない数のうち最大の数」(減基数)は
足した後で、0になっていた桁が全て1になるような数なのでビット反転をした数。
例)
2進数4ビットの場合
1001 の1の補数は 0110 で 1111 (10進数15)になる
・2進数における2の補数
ビット反転した数に1を足し、桁上がりさせたもの。
例)
2進数4ビットの場合
1001 の2の補数は 0111 で 0000 になる
2進数4ビットであるため桁上がりした1は無視される
・最後に
1の補数と2の補数をつくる覚え方
1の補数とくれば ビット反転
2の補数とくれば 1の補数(ビット反転)に1を足す
引用
「2の補数」「1の補数」について覚書
IT用語辞典 e-Words
令和06年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室