2進数と10進数の変換のしかた

n進数ってなに?

n進数のnという数字は、桁が進む数を表しています。例えば2進数なら、数を数えていく中で数字が2になったら次の桁に進むようになります。

これは、桁の間で使える数字の数でもあります。2進数なら桁を数える際に使える数字は0,1の2個。10進数なら、0,1,2,3,4,5,6,7,8,9の10個です。

2進数で数を数えてみた場合の例を見てみましょう。ゼロは0、イチは1、ニーの場合、10進数で表すと2ですが、2進数の場合は10になります。これは1+1で数字が2になるので、桁が一つ繰り上がります。

続いてサンは10+1=11、シーは11+1=12で一桁目が2になるので二桁目に一つ繰り上がり20、この時二桁目でも2になるので、今度は三桁目に繰り上がり100となります。

2進数と10進数の変換のしかた

n進数のnに当たる数字は基数といいます。2進数なら基数は2、8進数なら基数は8です。ある基数で表した数値を、別の基数で置き換えることを基数変換といいます。

基数変換を行う際は、各桁の重みという考え方を使います。重みは、基数をくり返しかけ算した数値のことを指します。(同じ数を繰り返し掛け算することを累乗といいます。)

例えば10進数の1000という数字は、「1 × 103 」と表すことができますが、 103がその重みです。10進数の場合、一桁目は10の0乗(100=1)、二桁目は10の1乗(101=10)、三桁目は10の2乗(102=100)、四桁目は10の3乗(103=1000)が各桁の重みになります。

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

2進数から10進数に基数変換をする場合は、2進数の各桁の数字にその桁の重みを掛け算すると求めることができます。

2進数の「1101.011」という数値を10進数に変換する場合の例を見てみます。

この1101.011という数値の各桁の数に重みをかけた数を表すと、
1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 + 0 × 21/2 + 1 × 21/4 + 1 × 21/8
= 8 + 4 + 0 + 1 + 0 + 0.25 + 0.125
= 13.375

となります。

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

10進数から2進数へ基数変換を行う場合は、基数を使って「整数部は割り算」「小数部は掛け算」をする方法があります。整数部は商が0になるまで基数でわり、小数部は小数部が0になるまで掛け算を繰り返します。

先ほどの10進数の13.375という数値を使って、今度は2進数に変換する方法を見てみましょう。

整数部の13を0になるまで基数で割り続けると、

13 ÷ 2 = 6 ・・・1
6 ÷ 2 = 3 ・・・0
3 ÷ 2 = 1 ・・・1
1 ÷ 2 = 0・・・1 (商が0になったのでここで終了)

次に小数部の0.375を0になるまで基数を掛け続けると、

2 × 0.375 = 0.75
2 × 0.75 = 1.5
2 × 1.5 = 1.0(小数部が0になったのでここで終了)

この計算結果をもとに、整数部は余りを下から並べ直し、小数部は掛け算した結果の整数部分を順に並べます

1101.011

よって、10進数の13.375を2進数に変換すると1101.011になりました。

関連記事

関連記事が見つかりませんでした。