基数(とは)、
- 2進数の場合→基数は『2』
- 16進数の場合→基数は『16』
- 10進数の場合→基数は『10』
- 8進数の場合→基数は『8』
- n進数の場合→基数は『n』
です。
(ΦωΦ){パターン!パターン見えてきたよ!}
n進数の場合の"n"の数字にあたる部分を基数といいます。
Q. さて、この概念が何の役に立つんでしょうか。
A. n進数の数を10進数に、あるいはその逆に変換(これを基数変換という)するときに使えます。
2進数を10進数に基数変換する方法
まずは一番よくでる2進数→10進数の基数変換をやってみましょう。
例えば、2進数で、
- 1011.011
という数字を10進数に基数変換すると、
- 11.375
になります。
計算の仕方はこうです!
- 1 x 8 = 8
- 0 x 4 = 0
- 1 x 2 = 2
- 1 x 1 = 1
- 0 x (1/2) = 0
- 1 x (1/4) = 0.25
- 1 x (1/8) = 0.125
- 8 + 0 + 2 + 1 + 0 + 0.25 + 0.125 = 11.375
10進数の場合は桁があがるごとに数字が10倍になりますが、
10進数 | 1 | 1 | 1 | 1 | . | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
各桁の重み | 10^3 | 10^2 | 10^1 | 10^0 | . | 10^(-1) | 10^(-2) | 10^(-3) |
10進数 | 1000 | 100 | 10 | 1 | . | 0.1 | 0.01 | 0.001 |
2進数は桁があがるごとに2倍になります。
2進数 | 1 | 1 | 1 | 1 | . | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
各桁の重み | 2^3 | 2^2 | 2^1 | 2^0 | . | 2^(-1) | 2^(-2) | 2^(-3) |
10進数 | 8 | 4 | 2 | 1 | . | 1/2 | 1/4 | 1/8 |
これを各桁の重みといいますが、さきほどのような2進数で
- 1011.011
という数字が出てきた場合、各桁の重みを掛けて、それぞれを足せば10進数に基数変換できるというわけです。
10進数を2進数に基数変換する方法
今度は逆に、10進数の、
- 11.375
という数字を2進数に基数変換してみましょう。
1の位以上の部分と小数点以下の部分、それぞれ変換します。
1の位以上の部分を10進数→2進数に基数変換する
1の位以上の部分は、
- 11
なのでこれを2進数に変換するには、『2』で順番に割って余りをそれぞれ出します。
2)11
 ̄
2) 5・・・1
 ̄
2) 2・・・1
 ̄
1・・・0
商が0もしくは1になったら終了します。
下から順に商と余りを並べると、
- 1011
となります。
少数点以下の部分を10進数→2進数に基数変換する
小数点以下の部分を変換する場合は、順に小数部分の基数を掛けていきます。
- 0.375
を2進数にする場合は(基数は2)、
- 0.375 x 2 = 0.75
- 0.75 x 2 = 1.5 ※掛けて1.5になった場合でも次に掛けるときは1の位は0にする
- 0.5 x 2 = 1.0
あとは上から順に1の位を並べます。
- 011
合わせる
一の位の
- 1011
と、小数点以下の、
- 011
をあわせると、
- 1011.011
これで10進数→2進数の基数変換ができました。
おわりに
小数点以下の10進数→2進数のやり方までバッチリ覚えておきましょう。