STAGE 02 / IPv4アドレスの基礎

2進数と10進数

考えてみよう

コンピューターは、なぜ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桁目
1286432168421

この8つの数字「128・64・32・16・8・4・2・1」は、CCNA学習の中で何度も何度も使う土台です。丸暗記してしまうくらい体に染み込ませておきましょう。

変換のルールはシンプルです。その桁が1なら位の値を足す、0なら足さない。これだけです。

たとえば 11000000 を10進数に変換してみましょう。

128 + 64 = 192。これが 11000000 の正体です。実はこれ、192.168.1.1 の最初のオクテット「192」そのものなんですよ。

逆に10進数から2進数に変換するときは、大きい位から順に「引けるかどうか」を確認していきます。たとえば 200 を2進数にしてみましょう。

結果は 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ビットがどう組み立てられているかを見ていくよ。