next up previous contents
Next: while wendを用いた繰り返し Up: 繰り返し、二つ以上の条件式 Previous: Problem 4   Contents

2進数、10進数、16進数

 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乗(10$^0$)、10は10の1乗(10$^1$)、100は10の2乗($10^2$)、1000は10の3乗($10^3$)…と言い換えることができます。 ですから、10進数は、10$^0$、10$^1$、10$^2$、10$^3$…と位が繰り上がるとも言えます。 例えば10進数で2976という数は、以下のように表すことができます。

10$^3$の位 10$^2$の位 10$^1$の位 10$^0$の位
2 9 7 8

これを、数式で以下のように表すことができます。 2×10$^3$ + 9×10$^2$ + 7×10$^1$ + 6×10$^0$ = 2×1000+ 9×100+7×10+6×1=2976

2進数(Binary Number)は、数字0,1の2個の数字を使って数を表現します。 数は、0,1と順に増え、次に位が増えて10になります。 このようにして、2進数は、2$^0$(1)、2$^1$(2)、2$^2$(4)、2$^3$(8)…と位が繰り上がります。(( )内は10進数での数) 例えば2進数で1101という数は、以下のように表すことができます。

2$^3$の位 2$^2$の位 2$^1$の位 2$^0$の位
1 1 0 1

これを、数式で以下のように表すことができます。 1×2$^3$ + 1×2$^2$ + 0×2$^1$ + 1×2$^0$ = 1×8 + 1×4 + 0×2 + 1×1 = 13(10進法)

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進法)

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進数は16$^0$(1)、16$^1$(16)、16$^2$(256)、16$^3$(4096)…と位が繰り上がります。(( )内は10進数での数) 例えば4E5Fという16進数は、以下のように表せます。

16$^3$の位 16$^2$の位 16$^1$の位 16$^0$の位
4 E 5 F

これを、数式で以下のように表すことができます。 4×16$^3$ + E×16$^2$ + 5×16$^1$ + F×16$^0$ = 4×4096 + E(14)×256 + 5×16 + F(15)×1 = 20063(10進法)

10進数から16進数へ変換するには、10進数を16で割って、その商をさらに16で割る、またその商を16で割って…と、余りを出しながら商が0になるまで繰り返します。そして最後の余りを先頭に下から順に並べます。 例えば10進数で1000という数は、以下のように計算することができます。

1000÷16 = 62 余り 8
62÷16 = 3 余り 14(E)
3÷16 = 0 余り 3
= 3E8 (16進法)


next up previous contents
Next: while wendを用いた繰り返し Up: 繰り返し、二つ以上の条件式 Previous: Problem 4   Contents
Takeyoshi Nagai 2013-10-07