図書館員のコンピュータ基礎講座

2進数、16進数と10進数

2進数、16進数と10進数は、プログラミングなどをする際に知っておいたほうが良い知識です。
図書館とあまり関係がないかも知れませんが、頭の体操とでも思ってください。

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×1039×1027×1016×1002×1000 + 9×100 + 7×10 + 6×1 = 2976

2進数

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×231×220×211×201×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進数

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×163E×1625×161F×1604×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進数に変換する場合は、以下のように操作します。

  1. 電卓ソフトの左に表示されているラジオボタンで「10進」を選択する。
  2. 数字のボタンをクリックするか、キーボードの数字キーで、「1500」と入力します。
  3. ラジオボタンで「16進」を選択する。
  4. 計算結果が「5DC」と表示される。
電卓ソフトの画像
ページのトップへ
CyberLibrarian : tips on computer for librarians, 1998-