n進数
数学では無限に考えられる数を数字の並びとして表現します。
例えば、私達が普段使っている10進数では
'0'~'9'という数字を使ってそれよりも大きな数を表現します。
10は'1'と'0'の並びです。100は'1'と'0'と'0'の組み合わせです。
このように桁上げることでより大きな数の表現を可能にしています。
これは順列の考え方により、桁数をnとすると10^n個の数を表現できることになります。
この考え方を2進数に適用してみましょう。
2進数では'0'と'1'の2種類の文字を使って数を表現します。
この場合は桁数nに対して2^n個の文字を表現出来ます。
このようにr進数に対してr^n個の数を表現できるというのが進数の概念です。
そのため、プログラミングにおいて10(10^1)、100(10^2)、1000(10^3)と同じように、2(2^1)、32(2^5)、1024(2^10)などがキリの良い数だとされています。
16進数表記をするには16個の数字が必要ですがアラビア数字は10個しかありません。その場合はアルファベットで足りない分を補います。
進数表記の早見表
以下がこれらをまとめた進数表記の早見表です。
10進数 | 2進数 | 8進数 | 16進数 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 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 |
16 | 10000 | 10 | 10 |