FPGAで遊ぼう!

FPGAでの遊びを通して、技術について紹介していきます

2進数

デジタル信号は、「0」「1」のビットで表現すると説明しましたが、私たちが普段使っている数は、どのように表現するのでしょうか?私たちが使っている数には、「0」から「9」の数字が使われています。ビットで表現するデジタル信号は、2種類しかないので、表現できないと思われるかもしれません。前回のデジタル回路で、nビットのデジタル信号は、2n種類の状態を表現できると説明したと思います。1桁の0~9数は、10種類の状態を表現しています。デジタル信号で10種類の状態を表現するためには、4ビットで表現できます。4ビットの信号を0~9の数に割り当てれば、デジタル信号で表現可能です。数の桁数が増えれば、デジタル信号のビット数も増やせば、表現可能です。

 

私たちが普段使っている数は、10種類の数字を使っていて、10ずつ桁が上がるので、10進数と呼ばれています。9の次は10、19の次は20と10ずつ桁が上がっていきます。10進数は、

 10進数=100の位×100+10の位×10+1の位

と式で表すことができます。

デジタル信号は、2種類の数字を使っていて、2の倍数ずつ桁が上がるので、2進数と呼ばれています。

 2進数=4の位×4+2の位×2+1の位

と式で表すことができます。

 

10進数の2進数への変換は、数を2で割って、余りを各位の数字にすることで行います。例えば、10進数の123を2進数に変換する場合では、

  123÷2 = 61・・・1

1の位は、1になります。

  61÷2 = 30・・・1

2の位は、1になります。

  30÷2 = 15・・・0

4の位は、0になります。

  15÷2 = 7・・・1

8の位は、1になります。

  7÷2 = 3・・・1

16の位は、1になります。

  3÷2 = 1・・・1

32の位は、1になります。

  1÷2 = 0・・・1

64の位は、1になります。

     123 =  1×64+1×32+1×16+1×8+0×4+1×2+1

2進数は、1111011となります。

 

デジタル回路では、基本的に2進数で処理を行います。

 

まとめ

  • デジタル信号では、数字は2進数で表現する。
  • 2進数は、「0」「1」を使う。
  • 10進数を2進数にするには、2で割っていく。