ちょっとディープな生物の世界

基本情報技術者入門:基数の変換

ビットとバイト

コンピュータは1と0の2進数ですべてを表現します。この1か0かの最小の情報量の単位を1ビットと呼びます。また、8ビットを1バイトと呼びます。

1ビットで表現できる情報は2通り、2ビットでは2の2乗で4通り、3ビットでは2の3乗で8通りとなります。nビットでは2のn乗通りになります。

アルファベットを表す最小のビット数の計算

アルファベットは26文字ありますから、26通りの情報を表現できれば良いわけです。

  • 2の4乗 < 26 < 2の5乗
  • 16 < 26 <32

ですから、少なくとも5ビットは必要であることがわかります。

2進数から10進数への変換

2進数では、0と1の数字の使って表現します。1の次は10となります。2進数を10進数に変換する際には2進数の重みを掛けて足してやれば求めることができます。重みとは、各桁の基数となっている数字です。

例えば、101という数字があった場合、10進数で表すと次のようになります。

2進数101
2進数の重み(2のn乗)421
掛けた値401

掛けた値をすべて足すと5になります。2進数の101は10進数では5になります。

10進数から2進数に変換する方法

10進数での6を2進数で表すには、割り算の余りを用います。10を2で割って商を引き継ぎます。

  • 6÷2=3(余り0)
  • 3÷2=1(余り1)
  • 1÷2=0(余り1)

余りを下から記していくと110になります。110が2進数で6を表現した値です。

10進数の小数部を2進数で表すには、2をかけて小数部のみを引き継ぎ、整数部を並べてみます。

  • 0.375×2=0.75
  • 0.75×2=1.5
  • 0.5×2=1

整数部をならべると、011になります。つまり、0.011が0.375を2進数で表した値です。

2進数から8進数への変換

2進数から8進数への変換は、比較的楽です。というのも、2進数の3桁が8進数の1桁に対応しているためです。次のような方法で2進数から8進数への変換ができます。

例:2進数1100.011を8進数へ変換する

3桁ずつに区切る001100.011
2進数の重み421421.421
3桁ごとに掛けて足す0+0+14+0+0.0+2+1
8進数の値14.21

つまり、14.21になります。

同様の方法で2進数から16進数への変換もかんたんです。16進数の場合には4桁ごとに区切って計算します。

コメントを残す

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