進数ラボ
同じ数字を2進数・10進数・16進数で比べてみよう
0〜255の整数を入力してください
① 進数とは?
「いくつで次の桁に繰り上がるか」の違い
進数とは、 何種類の数字を使って数を表すか を決める仕組みです。 使える数字をすべて使い切ると、左の桁へ繰り上がります。
10個の数字を使う
10になると
9 → 10
2個の数字を使う
2になると
1 → 10
16個の数字を使う
16になると
F → 10
同じ値でも、進数によって表し方が変わる
10進数
15 → 16
2進数
1111 → 10000
16進数
F → 10
数字の値そのものは同じです。 違うのは、使う数字の種類と どこで繰り上がるか です。
② なぜ2進数・16進数を使うのか?
コンピュータの仕組みと、ネットワークで使われる理由
コンピュータは「2つの状態」で動いている
コンピュータ内部では、電気信号の ON / OFF のような2つの状態を使って情報を扱います。 その2つの状態を 1 と 0 で表したものが2進数です。
8個のスイッチで2進数を作ってみよう
各スイッチを押すと、OFFは0、ONは1になります。
ビットをONにすると、左右へ移動できます。
でも2進数は長くなりやすい
2進数はコンピュータには扱いやすい一方で、 人間が読むには桁数が多くなります。 そこで便利なのが 16進数 です。
4ビット = 16進数1桁 で表せるため、2進数をコンパクトに読むことができます。
ネットワークではどこで使う?
- ・ サブネットマスク
- ・ ネットワークアドレス計算
- ・ AND演算
- ・ MACアドレス
- ・ IPv6アドレス
- ・ パケットデータ
コンピュータ内部では 2進数 が基本です。 その2進数を人間が読みやすくコンパクトに表す方法として、 16進数 が使われます。
学習したい変換方法を選んでください
確認したい組み合わせを選ぶと、下に解説が表示されます
③ 2進数 ↔ 10進数
2の重みを使って相互に変換する
2進数 → 10進数
2進数の各桁には、 右から 1・2・4・8・16・32・64・128 という重みがあります。 1になっている桁の重みだけ を足します。
1の位置だけを足す
128 + 32 + 16 + 4 + 1
181
0の桁は無視して、1の桁だけを見る と考えると簡単です。
10進数 → 2進数
今度は逆に、 128・64・32・16・8・4・2・1 の順番で、 その値を使えるかどうかを判断します。
判断した1と0を左から並べる
もう1つの変換方法
10進数を 2で割り続けて余りを逆順に読む 方法でも2進数に変換できます。 IPBrainでは、ネットワーク計算にもつながりやすい 「2の重み」を使う方法を中心に説明しています。
同じ値を違う進数で表している
10進数
181
2進数
10110101
⑥ まとめ
2進数・10進数・16進数は、同じ値を違う表し方で書いている
181 = 10110101 = B5
表し方は違っても、数字が表している値は同じです。
まず覚えたいポイント
128・64・32・16・8・4・2・1
4ビット = 16進数1桁
A=10 ~ F=15
理解できたら、実際に問題を解いてみよう