【Mathematics】1の補数、2の補数、3の補数?
情報処理関連の勉強をしてくると、出てくるの補数。
2進数で1の補数は反転(0111→1000)、2の補数は反転して+1(0111→1001)と機械的に覚えていました。
ふと「3以上の補数はあるのか?そもそも補数とは?」と思い、まとめてみました。
Wikipedia先生によると、補数は
「ある基数法において、ある自然数 a に足したとき桁が1つ上がる(桁が1つ増える)数のうち最も小さい数」
とのこと。
つまり、10進数3の補数は7になります。
さらに定義によると
「b進法において、自然数aを表現するのに必要な最小の桁数をnとしたとき、
・b^n-aを「b進法におけるaに対するbの補数」
・b^n-a-1を「b進法におけるaに対するb-1の補数」」
とあります。
つまり、2進数に対しては1,2の補数、10進数に対しては9,10の補数しかないことになります。