はじめに:なぜコンピュータは「0」と「1」だけなの?

コンピュータの世界へようこそ!共通テストの「情報Ⅰ」で最初につまずきやすいのが、この2進法16進法です。普段私たちは「0から9」までの数字を使った10進法を使っていますが、コンピュータの中身はもっとシンプルです。
コンピュータは電気の「ON(流れる)」と「OFF(流れない)」の2つの状態しか区別できません。そのため、すべての情報を「0」と「1」の組み合わせで表現しているのです。
最初は難しく感じるかもしれませんが、仕組みさえわかればパズル感覚で解けるようになります。一緒にマスターしていきましょう!

1. 情報の最小単位「ビット」と「バイト」

コンピュータが扱う情報の大きさを表す言葉を覚えましょう。

ポイント:情報の単位
ビット(bit):情報の最小単位。「0」か「1」が入る箱1つ分のこと。
バイト(byte):8ビットをひとまとめにした単位。\(1 \text{ byte} = 8 \text{ bits}\) です。

1ビットでは「0」か「1」の2通りしか表せませんが、ビットが増えると表現できる情報の数が増えていきます。
・2ビットなら:\(00, 01, 10, 11\) の 4通り(\(2^2\))
・8ビット(1バイト)なら:256通り(\(2^8\))
このように、\(n\) ビットあれば \(2^n\) 通りの情報を区別できるというルールを覚えておきましょう。

豆知識:なぜ「8」ビットなの?

昔のコンピュータで英数字を表現するのに8ビットあれば十分(256通りあれば、アルファベットの大文字・小文字、数字、記号をカバーできる)だった名残と言われています。

2. 2進法と10進法の変換(基数変換)

私たちが使う「10進法」を「2進法」に直したり、その逆をしたりする作業を基数変換と呼びます。

① 2進法 → 10進法への変換

2進法の各桁には「重み」があります。右から順に、\(2^0(1), 2^1(2), 2^2(4), 2^3(8), 2^4(16) \dots\) となっています。この重みを足し算するだけです。

例:2進法の「1011」を10進法にする
\(1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0\)
\(= 8 + 0 + 2 + 1\)
\(= 11\)

② 10進法 → 2進法への変換

10進法の数を「2」でどんどん割っていき、その余りを逆から並べる方法が確実です。

例:10進法の「13」を2進法にする
13 ÷ 2 = 6 あまり 1
6 ÷ 2 = 3 あまり 0
3 ÷ 2 = 1 あまり 1
1 ÷ 2 = 0 あまり 1
下から順に並べて、「1101」となります。

よくある間違い:
割り算の余りを並べる際、上から順に書いてしまうミスが非常に多いです!必ず「最後に出た商(1)から順に、下から上へ」あるいは「余りを逆順に」並べるようにしましょう。

3. 16進法(じゅうろくしんほう)の登場

2進法は「01011010...」と長く続きすぎて、人間には読みにくいですよね。そこで使われるのが16進法です。

16進法では、0から15までの数字を1桁で表します。しかし、10以上をそのまま書くと2桁になってしまうため、アルファベットを使います。

ポイント:16進法の数え方
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15)

2進法と16進法の便利な関係

実は、2進法の4ケタは、16進法の1ケタにピッタリ対応します(\(2^4 = 16\) だからです)。

例:2進法「1011 0101」を16進法にする
1. 4ケタずつに区切る: 「1011」と「0101」
2. それぞれを10進数にする: 「11」と「5」
3. 16進法に直す: 「11」は「B」なので、答えは 「B5

豆知識:16進法はどこで使われている?

Webページの色の指定(例:#FFFFFF は白、#000000 は黒)や、コンピュータのメモリのアドレス(場所)を表すときによく使われています。

4. 大きな単位(接頭語)

情報の量が大きくなると、k(キロ)やM(メガ)といった単位を使います。

  • k(キロ):\(10^3 = 1,000\) 倍(または \(2^{10} = 1,024\) 倍)
  • M(メガ):\(10^6\) 倍(または \(2^{20}\) 倍)
  • G(ギガ):\(10^9\) 倍(または \(2^{30}\) 倍)
  • T(テラ):\(10^{12}\) 倍(または \(2^{40}\) 倍)

ポイント:1000倍か1024倍か
共通テストの問題では、「1kB = 1000B とする」か「1kB = 1024B とする」かが問題文で指定されます。勝手に決めつけず、必ず問題の条件をよく読みましょう。

まとめ:この章の重要ポイント

1. コンピュータの基本単位はビット(0か1)で、8ビット=1バイト
2. 2進法から10進法への変換は、2の重み(1, 2, 4, 8...)を足し算する。
3. 10進法から2進法への変換は、2で割り続けて余りを逆から並べる
4. 16進法は 0〜F を使い、2進法4ケタを16進法1ケタにまとめられる。

最初は計算に時間がかかるかもしれませんが、何度も練習すれば「\(2^4 = 16\), \(2^8 = 256\)」といった数字が自然に頭に入ってくるようになります。焦らず一歩ずつ進んでいきましょう!

※次の章「計算に関する限界と誤差」では、今回学んだ数値の表現によって、コンピュータが計算を間違えてしまう(!)現象について学びます。