図書館員のコンピュータ基礎講座
2進数、16進数と10進数は、プログラミングなどをする際に知っておいたほうが良い知識です。
図書館とあまり関係がないかも知れませんが、頭の体操とでも思ってください。
10進数(Decimal Number)は、0から9までの10個の数字を使って数を表現します。
数は、0,1,2,3,4,5,6,7,8,9と順に増え、次に位が増えて10になります。
このようにして、10進数は、1、10、100、1000、10000…と位が繰り上がります。
1は10の0乗(100)、10は10の1乗(101)、100は10の2乗(102)、1000は10の3乗(103)…と言い換えることができます。
ですから、10進数は、100、101、102、103…と位が繰り上がるとも言えます。
例えば10進数で2976という数は、以下のように表すことができます。
103の位 |
102の位 |
101の位 |
100の位 |
2 |
9 |
7 |
6 |
これを、数式で以下のように表すことができます。
2×103 + 9×102 + 7×101 + 6×100 = 2×1000 + 9×100 + 7×10 + 6×1 = 2976
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 |
これを、数式で以下のように表すことができます。
1×23 + 1×22 + 0×21 + 1×20 = 1×8 + 1×4 + 0×2 + 1×1 = 13(10進法)
実際に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進数、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 |
これを、数式で以下のように表すことができます。
4×163 + E×162 + 5×161 + F×160 = 4×4096 + E(14)×256 + 5×16 + F(15)×1 = 20063(10進法)
実際に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) |
- 「d」 = Decimalの頭文字、「b」 = Binaryの頭文字、「h」 = Hexadecimalの頭文字
10進数、2進数、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進数に変換する場合は、以下のように操作します。
- 電卓ソフトの左に表示されているラジオボタンで「10進」を選択する。
- 数字のボタンをクリックするか、キーボードの数字キーで、「1500」と入力します。
- ラジオボタンで「16進」を選択する。
- 計算結果が「5DC」と表示される。
CyberLibrarian : tips on computer for librarians, 1998-
|