ビットとバイト
コンピュータは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進数 | 1 | 0 | 1 |
2進数の重み(2のn乗) | 4 | 2 | 1 |
掛けた値 | 4 | 0 | 1 |
掛けた値をすべて足すと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桁ずつに区切る | 0 | 0 | 1 | 1 | 0 | 0 | . | 0 | 1 | 1 |
2進数の重み | 4 | 2 | 1 | 4 | 2 | 1 | . | 4 | 2 | 1 |
3桁ごとに掛けて足す | 0+ | 0+ | 1 | 4+ | 0+ | 0 | . | 0+ | 2+ | 1 |
8進数の値 | 1 | 4 | . | 2 | 1 |
つまり、14.21になります。
同様の方法で2進数から16進数への変換もかんたんです。16進数の場合には4桁ごとに区切って計算します。