進数を理解することで、コンピュータ上で行うあらゆる動作を理解し、便利に扱う事が出来ます。
目次
我々が日常的に使用している数値を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}$ |
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 |