はじめに:なぜコンピュータは「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\)」といった数字が自然に頭に入ってくるようになります。焦らず一歩ずつ進んでいきましょう!
※次の章「計算に関する限界と誤差」では、今回学んだ数値の表現によって、コンピュータが計算を間違えてしまう(!)現象について学びます。