普段使う10進数は10個の数字(文字:0、1、2、3、4、5、6、7、8、9)と位取りによって数値を表わす方法です。2進数(Two binary numbers)は使う文字が2個で同様の位取りを行う数値表現法です。多くの場合、数字には文字0、1が使われます。
10進数は1桁目が1の位、2桁目が10の位、3桁目が100の位の様にn桁目が10のn-1乗の位になります。これに対して2進数は1桁目が1の位、2桁目が2の位、3桁目が4の位とn桁目が2のn-1乗の位になります。
10進数との対応を表にしてみました。2進数はどうしても桁数が多くなり人間が読み書きするのには適していませんが、計算機の電子回路で計算するには簡単で適した表現方法です。
2進数 10進数 0
0
1
1
10
2
11
3
100
4
101
5
110
6
111
7
1000
8
1001
9
1010
10
1011
11
1100
12
1101
13
1110
14
1111
15
10000
16
10001
17
10010
18
10011
19
10100
20
..... ..... 1100100
100
10000000000
1024
..... .....
10進数や2進数と同様にn進数を新につくることを考えて見ましょう。3進数なら数字は0、1、2の三文字を使って作れます。4進数だと0、1、2、3の4文字必要です。2進数と4進数を比べると00,01,10,11が0,1,2,3の様に2進数の2桁分が4進数1桁に対応することがわかります。
2進数 4進数 8進数 10進数
16進数 0
0
0
0
0
1
1
1
1
1
10
2
2
2
2
11
3
3
3
3
100
10
4
4
4
101
11
5
5
5
110
12
6
6
6
111
13
7
7
7
1000
20
10
8
8
1001
21
11
9
9
1010
22
12
10
A
1011
23
13
11
B
1100
30
14
12
C
1101
31
15
13
D
1110
32
16
14
E
1111
33
17
15
F
.... .... .... .... .... 10000000000
100000
2000
1024
400
.... .... .... .... .... 2進数との対応が簡単なn進数で10進数に近いものには8進数と16進数(Hexadecimal number)があり何れも2進数の3桁分、4桁分と一桁が対応します。8進数も使われますが、16進数は特によく使われ、数字には文字0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの16文字を使います。
2進数4桁が16進数1桁にきれいに対応するので計算機の世界では2進数を人間が読みやすい様に16進数として表わすことが多い。メモリーの単位として使われるバイトは2進数8桁分なので、16進数なら2桁で1バイトのデータを表現できる。