全3334文字

 10進数の6は、2進数で0110になります。それでは、10進数の-6を2進数で表すとどうなるでしょう。-0110でしょうか?

 いいえ違います。なぜなら、0と1の2種類の情報しか表せないコンピューターには、マイナス符号(-)を表す手段がないからです。0と1とマイナス符号では、3つの情報になってしまいます。そこで、コンピューターは「マイナスの数をプラスの数で表す」という何とも不思議な表現方法を使っているのです。

マイナスをプラスで表す補数

 マイナスの数をプラスの数で表す表現方法を「補数(ほすう)」と呼びます。2進数の前に、10進数で補数の考え方を説明しましょう。ここでは、10進数で5-3という引き算をするとします。5-3は、5+(-3)と同じですね。-3を補数で表すと、つまり-3をプラスの数で表すと7になります。5+7を計算してください。

5+7=12

答えは12になります。このとき「桁上がりを無視する」というルールを定めると、

5+7=2

となります。これは、確かに5-3=2の答えと合っています。なんとも狐につままれたような話ですが、マイナスの数-3をプラスの数7で表すことができたのです。

 ポイントは「桁上がりを無視する」ということです。これが、コンピューターの仕組みに上手くマッチします。