二進法(二進数)
デジタル回路で数値を扱うには二進法が用いられます。特にコンピュータの内部では二進法による表現は非常に都合のいい方法です。
現在私たちがものを数えるとき1、2、3、・・・・・、9、10と数えていき10になったとき1つ桁が上がります。これを十進法と言います。
二進法では2になったら一つ桁が上がります。すなわち1、2,3、・・・・・、9、10と数えたとき二進法では、1は1、2は10、3は11、4は100、・・・・
9は1001、10は1010と表現されます。2を二進数で表現する「10」はジュウと読むのではなく「イチ、ゼロ」と読みます。同様に3は「イチ、イチ」、4は「イチ、
ゼロ、ゼロ」と読みます。
二進法の一つの桁をビットと表現します。4ビットと言うと4桁の二進数ということになります。表現できる範囲は0000~1111(十進数では0~15)までとなります。
これはカウンタでパルス数を数えたときのカウンタの出力(カウント計数)を見ると理解できるかと思います。下表は4ビットカウンタの入力パルス数と出力の関係を
表しています。
入力パルス数 | カウンタの出力 |
D3 | D2 | D1 | D0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
5 | 0 | 1 | 0 | 1 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
表1
十六進法(十六進数)
二進法では1と0の羅列になりますから使い慣れた十進数の対比がすぐにはわかりません。そこで考えられたのが十六進法になります。
十六進法は二進法の4桁(4ビット)を一つの単位と考え0~9のアラビア数字とA~Fの6ヶの英文字で表現します。英文字は小文字の場合もあります。
これによって4ビットの最大値「1111」(十進数で15)も1桁の記号で置き換えることが出来るようなります。
下表(表2)は十進数と二進数、十六進数の対比表です十六進数は2桁(8ビット)です。途中は省略してあります。二進数は4ビット毎にスペースをいれてありますが
本来は入りません。
十進数 | 二進数 | 十六進数 |
0 | 0 | 00 |
1 | 1 | 01 |
2 | 10 | 02 |
3 | 11 | 03 |
4 | 100 | 04 |
8 | 1000 | 08 |
9 | 1001 | 09 |
10 | 1010 | 0A |
11 | 1011 | 0B |
12 | 1100 | 0C |
13 | 1101 | 0D |
14 | 1110 | 0E |
15 | 1111 | 0F |
十進数 | 二進数 | 十六進数 |
16 | 1 0000 | 10 |
17 | 1 0001 | 11 |
18 | 1 0010 | 12 |
19 | 1 0011 | 13 |
20 | 1 0100 | 14 |
21 | 1 1010 | 15 |
32 | 10 0000 | 20 |
33 | 10 0001 | 21 |
34 | 10 0110 | 22 |
35 | 10 0011 | 23 |
36 | 10 0100 | 24 |
37 | 10 0101 | 25 |
38 | 10 0110 | 26 |
十進数 | 二進数 | 十六進数 |
64 | 100 0000 | 40 |
65 | 100 0001 | 41 |
66 | 100 0010 | 42 |
67 | 100 0011 | 43 |
68 | 100 0100 | 44 |
69 | 100 0101 | 45 |
128 | 1000 0000 | 80 |
129 | 1000 0001 | 81 |
130 | 1000 0010 | 82 |
131 | 1000 0011 | 83 |
132 | 1000 0100 | 84 |
254 | 1111 1110 | FE |
255 | 1111 1111 | FF |
一般的な呼び方として(数学の世界では不正確かもしれません)十進数はdecimal(デシマル)
、二進数はbinary(バイナリー),
十六進数はhexadcimal(へクスアデシマル)または単にhex(へクス)と呼ばれます。