2進数のマイナス表記

コンピュータのマイナスの数はどうやって表すの?

〜1の補数と2の補数をやさしく解説〜

千葉県松戸市の はなまるパソコン教室 では、プログラミングやタイピング、パソコンの基礎など、子どもから大人まで楽しく学べる講座をご用意しています。

このブログでは、授業では扱わないような少し難しいコンピュータの仕組みについても、わかりやすく解説しています。今回はその一例として、「マイナスの数をどうやってコンピュータが表すのか?」 を紹介します。

1. コンピュータは 0 と 1 だけで数字を表す

コンピュータの世界では、すべての数字を 0 と 1 の組み合わせで表しています。これを「2進数」といいます。

ふつうの2進数では、

0000 (0), 0001 (1), 0010 (2), 0011 (3) …

のように、マイナスではない数しか表せません。
では「-1」や「-2」といった マイナスの数 はどう表すのでしょうか?

2. いろいろあった昔の方法

(1) 符号・絶対値方式

一番左のビットを「プラス/マイナスの符号」にして表す方法です。

0 0010 → +2
1 0010 → -2

わかりやすいけれど、引き算の計算が複雑になります。

(2) 1の補数方式

正の数のビットを 反転(0を1、1を0にひっくり返す) してマイナスを作る方法です。

+2 = 0000 0010
反転すると → 1111 1101

これを「-2」とするのが 1の補数方式です。

ただし、この方法には欠点があります。

  • 0000 0000(+0)と 1111 1111(-0)が両方存在してしまう
  • 計算回路がややこしい

つまり、「0が2つある」という変なことが起きるのです。

(3) 2の補数方式

そこで登場するのが「2の補数(にのほすう)」。これは現代のコンピュータで使われている標準的な方法です。

やり方はとてもシンプルです。

  1. 正の数を2進数にする
  2. ビットを反転する(1の補数を作る)
  3. さらに +1 をする(これで完成!)

こうすることで、

  • 0は1つだけになる
  • 足し算・引き算もきれいにできる

3. 2の補数の例(-2を作ってみよう)

  1. +2 を2進数で表す
    0000 0010
  2. ビットを反転する(1の補数)
    1111 1101
  3. +1 をする(2の補数完成!)
    1111 1110

👉 この「1111 1110」が -2 の2の補数表現です。

4. 計算してみよう!

1111 1110 (-2)
+0000 0010 (+2)
----------------
0000 0000 (0)

バッチリ 0 になりました!これが2の補数のすごいところです。

5. 1の補数と2の補数の違い

方法 作り方 問題点 今の使われ方
1の補数 ビットを反転するだけ +0と-0が両方できてしまう 使われない
2の補数 反転してさらに+1する 0は1つだけ、計算も簡単 コンピュータ標準

6. まとめ

  • コンピュータは 0 と 1 しか使えないので、マイナスを表す工夫が必要
  • 1の補数:反転するだけ → 0が2つできて不便
  • 2の補数:反転して+1 → 0が1つだけ、計算もラク!
  • だから今のコンピュータは 2の補数方式 を使っている

7. 覚え方

「2の補数は、マイナスの数を足し算だけで計算できるようにする魔法のルール」

8. はなまるパソコン教室について

はなまるパソコン教室(千葉県松戸市)は、小学生・中学生から大人・シニアまで幅広い方にパソコンの楽しさをお伝えしています。タイピングやOffice(Word・Excel・PowerPoint)、プログラミング、資格対策まで、ひとりひとりのペースに合わせた丁寧な指導を行っています。

このブログでは、授業の内容にとどまらず、今回のように「コンピュータの仕組み」や「ITの豆知識」も発信しています。興味を持った方はぜひ教室のページもご覧ください。

パソコン講座の詳細はこちら

プログラミング講座の詳細はこちら

© 2025 はなまるパソコン教室・スマホ教室【松戸・鎌ヶ谷・市川】