2進数とは(全体像)
2進数とは、0と1の、たった2つの数字だけで数を表す方法のことだ。ふだん使う数(0〜9の10個を使う「10進数」)とは、使う数字の数が違う。
なぜ2進数を使うかというと、コンピュータの中は、電気が流れている(ON=1)か、流れていない(OFF=0)かで動くから。だから、コンピュータにとっては2進数が自然なのだ。
「0と1だけでは、小さな数しか表せないのでは?」と思うかもしれないが、それは誤り。桁を増やせば、どんな大きな数でも表せる。10進数で桁を増やすのと同じだ。
詳しく:10進数との変換と2の補数
ここが心臓部。まず、10進数との変換を、例で見てみよう。
2進数のポイント
| 項目 | やさしい意味 |
|---|---|
| 使う数字 | 0と1の2つだけ |
| 10進数との変換 | 2進数の101は、10進数の5 |
| 2の補数 | 負の数を表す標準(全ビット反転して+1) |
| 1の補数 | 全ビットを反転するだけ(標準ではない) |
2進数の101を10進数にするには、各桁に「位の重み」をかけて足す。右から1の位・2の位・4の位なので、1×4 + 0×2 + 1×1 = 5。つまり、2進数の101は10進数の5だ。
そして、試験でよく問われるのが、負の数の表し方。標準は2の補数だ。2の補数は、全部のビットを反転(0と1を入れ替え)して、最後に1を足すやり方。よく似たものに1の補数(全部のビットを反転するだけ)があるが、負の数の標準は2の補数。「負の数の標準は1の補数」と思い込むと誤りになる。
わかりやすく言い換えると
身近なたとえで整理しよう。
2進数は、「0と1の2種類だけで数を書くやり方」のイメージ。電気のON・OFFと相性がよいので、コンピュータが使う。
10進数との変換は、「2進数の各桁に、1・2・4…という重みをかけて足す」こと。たとえば101なら、4+0+1で5になる。
2の補数は、「負の数を表すための、決まったやり方(全部反転して1を足す)」。つまり、引き算を足し算で扱えるようにする工夫だ。
試験のツボ
🔴 一番出る:10進数との変換
①2進数の各桁に、1・2・4…の重みをかけて足す
②2進数の101は、4+0+1で10進数の5
🔴 次に出る:2の補数(負の数の標準)
①負の数の標準は2の補数
②全ビットを反転して、最後に1を足す
🟡 押さえると安定:2進数の正体
①0と1の2つだけで数を表す
②コンピュータの中(電気のON・OFF)で使う
よくある間違い
①「負の数を表す標準は、1の補数だ」→ ✗ 負の数の標準は2の補数(全ビット反転して+1)。1の補数は反転するだけ。
②「2進数は、0と1だけなので、小さな数しか表せない」→ ✗ 桁を増やせば、どんな大きな数でも表せる。
③「コンピュータの中は、10進数で動いている」→ ✗ コンピュータの中は、電気のON・OFF(0と1)なので、2進数で動く。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(2進数の正体)
2進数に関する次の記述のうち、最も適切なものはどれか。
- 社員の出退勤を記録して、毎月の給与を計算するためのしくみである
- 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
- 完成したシステムを宣伝して、より多く売るための広告活動である
- 0と1という2つの数字だけを使って数を表す方法のことなのである
解答は 4 だぱん。
2進数は、0と1の2つの数字だけで数を表す方法なんだぱん。コンピュータの中は電気のON・OFFだから、2進数で動くんだぱん。
選択肢1は給与計算、選択肢2は請求書の事務、選択肢3は広告で、どれも違うぱん。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のしくみではない |
| 2 | ✗ | 請求書の事務の話 |
| 3 | ✗ | 広告活動ではない |
| 4 | ✓ | 0と1で数を表す方法で正しい |
オリジナル問題2(10進数との変換)
2進数の101を10進数にした値として、最も適切なものはどれか。
- 各桁に1・2・4の重みをかけて足すと、10進数の5になるのだ
- 各桁をそのまま並べると、10進数の101になるとされている
- 各桁をすべて足すと、必ず10進数の2になるとされているものだ
- 社員の給与を計算すると、10進数の100になるとされているものだ
解答は 1 だぱん。
2進数の101は、各桁に1・2・4の重みをかけて足すと、10進数の5になるんだぱん(4+0+1=5)。
選択肢2の「そのまま101」、選択肢3の「必ず2」、選択肢4の給与計算は、いずれも違うぱん。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 4+0+1で5になるで正しい |
| 2 | ✗ | そのまま101にはならない |
| 3 | ✗ | 必ず2にはならない |
| 4 | ✗ | 給与計算の話ではない |
オリジナル問題3(2の補数)
2進数で負の数を表す標準として、最も適切なものはどれか。
- 社員の給与を計算する方法で、負の数を表すとされているものだ
- 全ビットを反転するだけの、1の補数が標準だとされているものだ
- 全ビットを反転して1を足す、2の補数が標準とされているものだ
- 取引先へ請求書を郵送する方法で、負の数を表すとされている
解答は 3 だぱん。
負の数を表す標準は、全ビットを反転して1を足す、2の補数なんだぱん。1の補数(反転するだけ)とまちがえないようにするといいぱん。
選択肢1の給与計算、選択肢2の「1の補数が標準」、選択肢4の請求書は、いずれも違うぱん。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算の方法ではない |
| 2 | ✗ | 1の補数は標準ではない |
| 3 | ✓ | 2の補数が標準で正しい |
| 4 | ✗ | 請求書の方法ではない |
まとめ
押さえどころ
- 🔴 2進数 = 0と1の2つの数字だけで数を表す方法。コンピュータの中(電気のON・OFF)で使う。
- 🔴 10進数との変換 = 各桁に1・2・4…の重みをかけて足す。2進数の101は10進数の5。
- 🟡 2の補数 = 負の数を表す標準(全ビット反転して+1)。1の補数(反転だけ)とは別。
次に学ぶ
- 16進数 ── 0〜9とA〜Fで数を表す方法。2進数とまとめて扱いやすい。
- ビットとバイト ── データの量を表す単位。2進数の桁が、ビットにあたる。
執筆: SikakuQuest編集部