2進数、16進数と10進数2進数、16進数と10進数は、プログラミングなどをする際に知っておいたほうが良い知識です。
|
103の位 | 102の位 | 101の位 | 100の位 |
---|---|---|---|
2 | 9 | 7 | 6 |
これを、数式で以下のように表すことができます。
2進数(Binary Number)は、数字0,1の2個の数字を使って数を表現します。
数は、0,1と順に増え、次に位が増えて10になります。
このようにして、2進数は、20(1)、21(2)、22(4)、23(8)…と位が繰り上がります。(( )内は10進数での数)
例えば2進数で1101という数は、以下のように表すことができます。
23の位 | 22の位 | 21の位 | 20の位 |
---|---|---|---|
1 | 1 | 0 | 1 |
これを、数式で以下のように表すことができます。
実際に2進数を10進数に変換するときは、以下のように縦算にすると簡単です。
1×23 | = | 8 |
1×22 | = | 4 |
0×21 | = | 0 |
1×20 | = | +) 1 |
13 |
逆に、10進数から2進数へ変換するには、10進数を2で割って、その商をさらに2で割る、またその商を2で割って…と、余りを出しながら商が0になるまで繰り返します。そして最後の余りを先頭に下から順に並べます。
例えば10進数で19という数は、以下のように計算することができます。
19÷2 | = | 9 | 余り | 1 |
9÷2 | = | 4 | 余り | 1 |
4÷2 | = | 2 | 余り | 0 |
2÷2 | = | 1 | 余り | 0 |
1÷2 | = | 0 | 余り | 1 |
= | 10011 | (2進法) |
ポイント
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2進数 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 |
16進数(Hexadecimal Numbre)は、0から9までの数字とAからFまでのアルファベットを使って数を表現します。
数は、0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fと順に増え、次に位が増えて10になります。
Aは10進数で10、Bは10進数で11、Cは10進数で12、Dは10進数で13、Eは10進数で14、Fは10進数で15です。
このようにして、16進数は160(1)、161(16)、162(256)、163(4096)…と位が繰り上がります。(( )内は10進数での数)
例えば4E5Fという16進数は、以下のように表せます。
163の位 | 162の位 | 161の位 | 160の位 |
---|---|---|---|
4 | E | 5 | F |
これを、数式で以下のように表すことができます。
実際に16進数を10進数に変えるときは、以下のように縦算にすると簡単です。
4×163 | = | 16384 |
E(14)×162 | = | 3584 |
5×161 | = | 80 |
F(15)×160 | = | +) 15 |
20063 |
逆に、10進数から16進数へ変換するには、10進数を16で割って、その商をさらに16で割る、またその商を16で割って…と、余りを出しながら商が0になるまで繰り返します。そして最後の余りを先頭に下から順に並べます。
例えば10進数で1000という数は、以下のように計算することができます。
1000÷16 | = | 62 | 余り | 8 |
62÷16 | = | 3 | 余り | 14(E) |
3÷16 | = | 0 | 余り | 3 |
= | 3E8 | (16進法) |
ポイント
コンピュータの世界では、0と1、つまり2進数で全てを表現するので、人間の世界で一般的に利用する10進数よりも、2進数や2の乗数である16進数で計算する方が得意です。したがって、プログラミングでは、16進数を非常によく使います。ちなみに、表記する時に10進と2進数、16進の区別が必要な時は、次のように表記します。
10進数 | 15d | 15(10) |
---|---|---|
2進数 | 1001b | 1001(2) |
16進数 | 10h | 10(16) |
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2進数 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 |
16進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
ポイント
10進数、2進数、16進数の変換は、Windowsに付属している「電卓」ソフトで計算することができます。以下は、Windows 7の例です。
「アクセサリ」にある「電卓」ソフトを起動し、メニューの「表示」から「プログラマ」を選択してください。
例えば、10進数の1500を16進数に変換する場合は、以下のように操作します。