コンピューターは、なぜ0と1だけの世界(2進数)で動いているのでしょう?
電気信号を思い浮かべてください。電気には「流れている」か「流れていない」かの2つの状態しかありません。この単純な仕組みが、実は膨大な情報を表現する土台になっています。少し考えてから読み進めてください。
コンピューターの言葉「2進数」
私たちが普段使う10進数は、0から9までの10種類の数字を使います。位が1つ上がるごとに10倍になる仕組みですね(1、10、100、1000…)。
一方、コンピューターは電気のON/OFFだけで動く機械です。そのため使える数字は0と1の2つだけ。これが2進数(バイナリ)です。位が1つ上がるごとに2倍になっていきます。IPアドレスは、コンピューターの内部ではすべて2進数で扱われています。私たち人間が読みやすいように、普段は10進数(192.168.1.1のような表記)に変換して見ているだけなのです。
たとえるなら、2進数は「スイッチのON/OFF」の並びです。電気がついていれば1、消えていれば0。8個のスイッチが並んでいる様子を思い浮かべてください。それぞれのスイッチのON/OFFの組み合わせで、実は0から255までの数字をすべて表現できるのです。
位取りを覚えよう:128・64・32・16・8・4・2・1
2進数から10進数への変換で一番大切なのが、位取りの値です。8桁(1オクテットと呼びます)の2進数では、右から左に向かって次のように位の重みが決まっています。
| 位 | 8桁目 | 7桁目 | 6桁目 | 5桁目 | 4桁目 | 3桁目 | 2桁目 | 1桁目 |
|---|---|---|---|---|---|---|---|---|
| 値 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
この8つの数字「128・64・32・16・8・4・2・1」は、CCNA学習の中で何度も何度も使う土台です。丸暗記してしまうくらい体に染み込ませておきましょう。
変換のルールはシンプルです。その桁が1なら位の値を足す、0なら足さない。これだけです。
たとえば 11000000 を10進数に変換してみましょう。
- 128の位:1 → 128を足す
- 64の位:1 → 64を足す
- 32の位以下:すべて0 → 足さない
128 + 64 = 192。これが 11000000 の正体です。実はこれ、192.168.1.1 の最初のオクテット「192」そのものなんですよ。
逆に10進数から2進数に変換するときは、大きい位から順に「引けるかどうか」を確認していきます。たとえば 200 を2進数にしてみましょう。
- 128 → 200から引ける(200-128=72)→ 1
- 64 → 72から引ける(72-64=8)→ 1
- 32 → 8からは引けない → 0
- 16 → 8からは引けない → 0
- 8 → 8から引ける(8-8=0)→ 1
- 4, 2, 1 → 残りは0なので → 0, 0, 0
結果は 11001000。このように、大きな位から順番に「引けるか引けないか」を判定していくのがコツです。
試験でのポイント
CCNA試験では、255.255.255.0 のようなサブネットマスクや、特定のIPアドレスを2進数に変換させる問題が頻出します。128/64/32/16/8/4/2/1という位取りを即座に思い出せるかどうかが、試験時間の使い方を大きく左右します。特に「1オクテットは8ビット」「1バイトは8ビット」という対応関係、そして「1オクテットで表現できる最大値は255(11111111)」という点は必ず押さえておきましょう。0からではなく1から数えて「256通り」と勘違いしないよう注意が必要です(0〜255で256通り、というのが正確な理解です)。
2進数 10100000 を10進数に変換すると、いくつになるでしょう?
答えを見る
160です。
位取りは128・64・32・16・8・4・2・1でしたね。左から見ていくと、128の位が1、64の位が0、32の位が1、それ以外は0です。
128 + 32 = 160。1のところだけ位の値を足す、というシンプルなルールを思い出せれば、落ち着いて解けます。
1オクテット(8ビット)で表現できる10進数の範囲として正しいのはどれでしょう?
答えを見る
0〜255(256通り)です。
すべてのビットが0のとき 00000000 = 0、すべてのビットが1のとき 11111111 = 128+64+32+16+8+4+2+1 = 255になります。
「最大255だから255通り」と数え間違えるのが典型的な引っかけです。0も含めるので、正しくは256通りになります。
128・64・32・16・8・4・2・1、口に出して覚えちゃおう! これがサブネッティング計算の一生モノの武器になるからね。次はIPv4アドレス全体の構造、32ビットがどう組み立てられているかを見ていくよ。