コンピュータでよく使われる2進数と16進数について

By | 2016年12月28日

コンピュータの内部では、私たちが普段使っている 10進数 とは違った規則の数が使われています。

主に使われているのが 2進数16進数 です。

今回は、10進数の規則について改めて確認した後、これらの特別な数の規則について紹介します。

10進数とは

普段使っている数字を思い浮かべて見ると、次のような規則になっています。

$$0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \cdots$$

さて、ここで注目すべきことは、10進数には、ひとつの桁を表すために使える数字が10種類あるということです。

具体的には 0 から 9 までの10個の数字を使っています。

$$0, 1, 2, 3, 4, 5, 6, 7, 8, 9$$

そして、ひとつの桁だけで 10 を表せる数字は存在しません。そのため、桁を増やして 10 を表現します。

したがって、10進数は「10になると繰り上がる数」と言えます。

これは当たり前のことだと思われるかもしれませんが、他の ○進数 も全てこの原則は共通しています。

(○には数字が入ります)

つまり、○進数について以下の2つの規則が成り立ちます。

  • ひとつの桁に使える数字は○個
  • ○を表すためには桁を増やす必要がある

また、繰り上がりのタイミングについて考えてみると、10進数の場合、次のような数で繰り上がりが発生します。

$$10, 100, 1000, 10000, 100000, 1000000, \cdots$$

これにも規則があります。

10進数 10 100 1000 10000 100000 1000000
べき乗 $10^{1}$ $10^{2}$ $10^{3}$ $10^{4}$ $10^{5}$ $10^{6}$

つまり、べき乗となるときに繰り上がりが発生します。この規則も加えると、○進数について以下の3つの規則が成り立ちます。

  • ひとつの桁に使える数字は○個
  • ○を表すためには桁を増やす必要がある
  • ○進数の繰り上がりは○のべき乗の数のときに起こる

では、この規則から2進数について考えてみましょう。

2進数とは

先ほどの規則の ◯ の部分に 2 を当てはめてみると、2進数は次の規則を持つ数と言えます。

  • ひとつの桁に使える数字は2個(0と1)
  • 2を表すためには桁を増やす必要がある
  • 2進数の繰り上がりは2のべき乗の数のときに起こる

したがって、2進数で使える数は 0 と 1 だけであり、2を表すためには桁を増やさなくてはいけません。

この規則に従って、10までの数字を2進数で表現すると、以下のようになります。

$$0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010$$

10進数との対応は以下の通りです。

10進数 0 1 2 3 4 5 6 7 8 9 10
2進数 0 1 10 11 100 101 110 111 1000 1001 1010

2 を表すためには、繰り上がりが必要なので、10 となります。

繰り上がりのタイミングは、2のべき乗の時なので、以下のようになります。

10進数 2 4 8 16 32
2進数 10 100 1000 10000 100000
べき乗 $2^{1}$ = 2 $2^{2}$ = 4 $2^{3}$ = 8 $2^{4}$ = 16 $2^{5}$ = 32

なぜコンピュータでは2進数が使われるのか

コンピュータで2進数が多用される理由は、コンピュータの原理はスイッチと同じだからです。

スイッチは ONOFF の2つの状態を表します。これが2進数の元です。

ひとつのスイッチでは、ON または OFF の2つの状態しか表すことができません。

しかし、2つのスイッチを組み合わせると、以下のように4つの状態を表すことができます。

スイッチ1 OFF OFF ON ON
スイッチ2 OFF ON OFF ON

スイッチの ON を 1、スイッチの OFF を 0 として考えると、これは2進数そのものと言えます。

スイッチ1 0 0 1 1
スイッチ2 0 1 0 1

同様に、スイッチを増やしていけば、それらの状態の組み合わせで様々な数を表すことができます。

スイッチの個数 表せる数
1 2
2 4
3 8
4 16
... ...
N $2^{N}$

16進数とは

2進数の時と同じように、先ほどの規則の ◯ の部分に 16 を当てはめてみると、16進数は次の規則を持つ数と言えます。

  • ひとつの桁に使える数字は16個(0〜15)
  • 16を表すためには桁を増やす必要がある
  • 16進数の繰り上がりは16のべき乗の数のときに起こる

16進数の場合、ひとつの桁に16個の数字を使います。しかし、10進数で使っているアラビア数字だけでは16個に足りないので、10以上の数にはアルファベットを使います

従って、15までの数字を16進数で表現すると、以下のようになります。

$$0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f$$

10進数との対応は以下の通りです。

10進数 ... 9 10 11 12 13 14 15 16 17 18 19 20
16進数 ... 9 a b c d e f 10 11 12 13 14

10進数における16で繰り上がりが起こります。

繰り上がりのタイミングは、16のべき乗の時なので、以下のようになります。

10進数 16 256 4096 65536
16進数 1 10 100 1000
べき乗 $16^{1}$ = 16 $16^{2}$ = 256 $16^{3}$ = 4096 $16^{4}$ = 65536

16進数は、コンピュータが読み取る機械語や、Webページのカラーコードの表現などに使用されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です