2の補数

2進数の補数の考え方も10進数と同じです。

10進数の補数は10の補数と呼びましたが、2進数の場合は2の補数と呼びます。

4桁(4ビット)の2進数「0110」の2の補数を求めてみましょう。

(0110)2の2の補数を求める

10進数と同じように加算すると1桁増える数が2の補数です。

2進数「0110」の2の補数は、1桁多い2進数「10000」から減算することで求めることができます。

このように、2の補数も減算して求めることができます。2進数「0110」の2の補数は「1010」となります。

10の補数と計算は同じですね。でも2進数の減算ってなんでこんなに面倒なんだろう・・・

2進数の減算は、難しいのですが2の補数は減算をしなくても求めることができるのです。

2進数「0110」の2の補数を次の手順で求めることができます。

  • 手順1

    2進数の値の0と1の値を反転させる。

    2進数で「0」と「1」を入れ替えることを「反転する」といいます。

  • 手順2

    反転した値に1を加算する。

    1を加算した結果の「1010」が2の補数です。

各桁の値を反転して、+1するのですね。

これなら簡単にできそうです。

ホントホント、もっと早く教えてくれたらよいのに。

どんなものでも基本が大切です。基本をマスターしてから簡単な方法でも出来るようになりましょう。

10の補数と同様に、2の補数を加算すれば減算した時と同じ結果を求めることができます。

情 報 こ と ば キ ー ワ ー ド

2の補数

2進数で加算すると桁上がりをする最小値。

2進数各桁を反転させて+1すると求められる。

2の補数を作ってみましょう。

次の2進数の2の補数を求めましょう。桁数は4桁とします。

問題1 (0101)2の2の補数

問題2 (1100)2の2の補数

問題3 10進数(3)10を2進数に変換した時の2の補数

ヒント!!

(3)10を決められた桁数の2進数に変換してから2の補数を求めよう!

※この再現版では提出は行いません(送信先は未接続です)

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる