IPB
IPBrain

進数ラボ

同じ数字を2進数・10進数・16進数で比べてみよう

表示方法
再生速度
10進数
-
2進数
--------
16進数
--
↓ 2つの桁に分けて見る
16の位
161
-
1の位
160
-

① 進数とは?

「いくつで次の桁に繰り上がるか」の違い

進数とは、 何種類の数字を使って数を表すか を決める仕組みです。 使える数字をすべて使い切ると、左の桁へ繰り上がります。

10進数
0〜9

10個の数字を使う

10になると

9 → 10

2進数
0・1

2個の数字を使う

2になると

1 → 10

16進数
0〜9・A〜F

16個の数字を使う

16になると

F → 10

同じ値でも、進数によって表し方が変わる

10進数

15 → 16

2進数

1111 → 10000

16進数

F → 10

数字の値そのものは同じです。 違うのは、使う数字の種類と どこで繰り上がるか です。

② なぜ2進数・16進数を使うのか?

コンピュータの仕組みと、ネットワークで使われる理由

コンピュータは「2つの状態」で動いている

コンピュータ内部では、電気信号の ON / OFF のような2つの状態を使って情報を扱います。 その2つの状態を 1 と 0 で表したものが2進数です。

ON
1
/
OFF
0

8個のスイッチで2進数を作ってみよう

各スイッチを押すと、OFFは0、ONは1になります。

現在の2進数
00000000

ビットをONにすると、左右へ移動できます。

各桁の重み
10進数
0
16進数
00
0 = 0(すべてOFF)

でも2進数は長くなりやすい

2進数はコンピュータには扱いやすい一方で、 人間が読むには桁数が多くなります。 そこで便利なのが 16進数 です。

4ビットずつ区切る
1011
|
0101
1011
B
+
0101
5
B5

4ビット = 16進数1桁 で表せるため、2進数をコンパクトに読むことができます。


ネットワークではどこで使う?

2進数
  • ・ サブネットマスク
  • ・ ネットワークアドレス計算
  • ・ AND演算
16進数
  • ・ MACアドレス
  • ・ IPv6アドレス
  • ・ パケットデータ

コンピュータ内部では 2進数 が基本です。 その2進数を人間が読みやすくコンパクトに表す方法として、 16進数 が使われます。

変換方法

学習したい変換方法を選んでください

確認したい組み合わせを選ぶと、下に解説が表示されます

③ 2進数 ↔ 10進数

2の重みを使って相互に変換する

2進数 → 10進数

2進数の各桁には、 右から 1・2・4・8・16・32・64・128 という重みがあります。 1になっている桁の重みだけ を足します。

128
64
32
16
8
4
2
1
1
0
1
1
0
1
0
1

1の位置だけを足す

128 + 32 + 16 + 4 + 1

=

181

0の桁は無視して、1の桁だけを見る と考えると簡単です。


10進数 → 2進数

今度は逆に、 128・64・32・16・8・4・2・1 の順番で、 その値を使えるかどうかを判断します。

例:181を2進数に変換
181 ≥ 128 1
53 < 64 0
53 ≥ 32 1
21 ≥ 16 1
5 < 8 0
5 ≥ 4 1
1 < 2 0
1 ≥ 1 1

判断した1と0を左から並べる

10110101

もう1つの変換方法

10進数を 2で割り続けて余りを逆順に読む 方法でも2進数に変換できます。 IPBrainでは、ネットワーク計算にもつながりやすい 「2の重み」を使う方法を中心に説明しています。

同じ値を違う進数で表している

10進数

181

2進数

10110101

⑥ まとめ

2進数・10進数・16進数は、同じ値を違う表し方で書いている

10進数
181
2進数
10110101
16進数
B5
10進数 ↔ 2進数 2の重みを使う
2進数 ↔ 16進数 4ビット = 16進数1桁
10進数 ↔ 16進数 16の位と1の位で考える

181 = 10110101 = B5
表し方は違っても、数字が表している値は同じです。

まず覚えたいポイント

2の重み

128・64・32・16・8・4・2・1

4ビット

4ビット = 16進数1桁

A〜F

A=10 ~ F=15