読者です 読者をやめる 読者になる 読者になる

マッピィ Techlog

日々思うこと

【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の補数しかないことになります。