進数を理解することで、コンピュータ上で行うあらゆる動作を理解し、便利に扱う事が出来ます。

目次


10進数と2進数の表現

整数表現

我々が日常的に使用している数値を10進数(Decimal Number)と言い、0~9の10種類の数字を組み合わせて表しています。 数値の各ケタには重み(Weight)と呼ばれる10のべき乗で表すものがある。 この重み(10)を、10進数の基数(Radix)という。

$$ \overbrace{1\times10^2+5\times10^1+8\times10^0}^{(158)_{10}} $$

コンピュータでは、全ての情報を0と1の2種類の数値で処理を行っています。 これを2進数(Binary Number)と言います。 10進数と同じように、2進数にもケタの重みが存在し、基数が2として扱われる。

$$ \overbrace{1\times2^2+1\times2^1+0\times2^0}^{(110)_2} $$

ケタ n 5 4 3 2 1
10進数 $10^{n-1}$ $10^4$ $10^3$ $10^2$ $10^1$ $10^0$
2進数 $2^{n-1}$ $2^4$ $2^3$ $2^2$ $2^1$ $2^0$

小数表現

10進数と2進数でそれぞれ小数点以下の数値を表記すると、以下のようになる。

$$ \overbrace{6\times10^{-1}+2\times10^{-2}+8\times10^{-3}}^{(0.625)_{10}} $$

$$ \overbrace{1\times10^{-1}+0\times10^{-2}+1\times10^{-3}}^{(0.101)_{2}} $$

ケタ 1 2 3 4 5 m
10進数 $10^{-1}$ $10^{-2}$ $10^{-3}$ $10^{-4}$ $10^{-5}$ $10^{-m}$
2進数 $2^{-1}$ $2^{-2}$ $2^{-3}$ $2^{-4}$ $2^{-5}$ $2^{-m}$

8進数と16進数

2進数には、ケタが大きくなればなる程扱いにくくなる特徴を持ちます。 そこで、2進数を3ケタ/4ケタ区切りで表す8進数や16進数を用います。

10進数 2進数 8進数 16進数
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

進数の変換