スポンサーリンク

n進数の問題の解法

10進数をn進数に、n進数を10進数に直すような問題です。

基本問題

(1)次の10進数を2進数,3進数,5進数で表しなさい。
3,19
(2)次の2進数,3進数,5進数を10進数で表しなさい。
1011_{(2)}
21021_{(3)}
3140_{(5)}

解き方

10進数”a_2a_1a_0“(100の位がa_2,10の位がa_1,1の位がa_0)とは、
a_2a_1a_0=a_2\times 10^2 + a_1\times 10^1 + a_0\times 10^0
という意味です。
n進数”a_2a_1a_{0(n)}“とは、
a_2a_1a_{0(n)}=a_2\times n^2 + a_1\times n^1 + a_0\times n^0
という意味です。
各桁を表すn^mがその係数であるa_m個だけあるという見方ができます。

10進数をn進数で表すときは、nで割り算した商と余りを計算していく方法があります。
nで割ると、展開した式が1つ右にずれますよね。
この性質を使っています。
n進数を10進数で表すときは、定義に従って求めていく事で良いでしょう。

解説

(1)3,19を2進数,3進数,5進数で表しなさい。
19をそれぞれ表してみます。

割り算と余りを使った方法で表してみましょう。
(i-i)19の2進数
19 \div 2 =9余り1
商の9を使って、
9 \div 2 =4余り1
商の4を使って、
4 \div 2 =2余り0
商の2を使って、
2 \div 2 =1余り0
商が底の2未満になったのでここまでで割り算の計算は終わりです。
この最後の商と、それまでの余りを終わりの方から並べます
10011_{(2)}
ですね。
これが19の2進数表記になっています。
確かめておきましょう。
10011_{(2)}=1\times 2^4 + 0\times 2^3 + 0\times 2^2 + 1\times 2^1 + 1 \times 2^0
=16+2+1=19

また、
19-2^4=3
3-2^1=1
1-2^0=0
の計算から、
19=1\times 2^4 + 0\times 2^3 + 0\times 2^2 + 1\times 2^1 + 1 \times 2^0
=10011_{(2)}
と求める事もできます。

(i-ii)19の3進数
同じく割り算と余りを使って求めていきましょう。
19 \div 3 =6余り1
商の6を使って、
6 \div 3 =2余り0
商が底の3未満になったのでここまでで割り算の計算は終わりです。
この最後の商と、それまでの余りを終わりの方から並べます。
201_{(3)}
ですね。
これが19の3進数表記になっています。
確かめておきましょう。
201_{(3)}=2\times 3^2 + 0\times 3^1 +  1 \times 3^0
=18+1=19

(i-iii)19の5進数
同じく割り算と余りを使って求めていきましょう。
19 \div 5 =3余り4
商が底の5未満になったのでここで割り算の計算は終わりです。
この商と余りを終わりの方から並べます。
34_{(5)}
ですね。
これが19の5進数表記になっています。
確かめておきましょう。
34_{(5)}=3\times 5^1 + 4 \times 5^0
=15+4=19

(ii-i)3の2進数
割り算と余りを使って求めていきましょう。
3 \div 2 =1余り1
商が底の2未満になったのでここで割り算の計算は終わりです。
この商と余りを終わりの方から並べます。
11_{(2)}
ですね。
これが3の2進数表記になっています。

(ii-ii)3の3進数
割り算と余りを使って求めていきましょう。
3 \div 3 =1余り0
商が底の3未満になったのでここで割り算の計算は終わりです。
この商と余りを終わりの方から並べます。
10_{(3)}
ですね。
これが3の3進数表記になっています。

(ii-iii)3の5進数
3は5未満ですから、とくに計算することなく、3_{(5)}です。

(2)次の2進数,3進数,5進数を10進数で表しなさい。
定義に従ってばらしていきましょう。
(i)1011_{(2)}
1011_{(2)}=1\times 2^3+0\times 2^2 +1\times 2^1 +1\times 2^0
=8+2+1=11

(ii)21021_{(3)}
21021_{(3)}=2\times 3^4+1\times 3^3+0\times 3^2 +2\times 3^1 +1\times 3^0
=2\times 81+1\times 27+2\times 3 +1
=162+27+6+1
=196

(iii)3140_{(5)}
3140_{(5)}=3\times 5^3+1\times 5^2 +4\times 5^1 +0\times 5^0
=3\times 125+1\times 25 +4\times 5
=375+25 +20
=420

応用問題

(1)0.5625を2進数で表しなさい。
(2)0.00111_{(2)}を10進数で表しなさい。
※(2)の問題に誤りがありました。ご指摘ありがとうございます。

解き方

小数も考え方は同じです。
0.a_1a_2a_{3(n)}=a_1\times n^{-1}+a_2\times n^{-2}+a_3\times n^{-3}
になります。

10進法からn進法に変換する方法はn倍した整数部分を使って求める方法があります。
n倍すると左にずれる性質を使います。
n進法から10進法に変換する方法は、定義に従って計算すればよいでしょう。

解説

(1)0.5625を2進数で表しなさい。

2倍した整数部分を使って求めていきます。
0.5625*2=1.125
整数部分が1になりましたので、1を引いて0.125を2倍します。
0.125*2=0.25
整数部分は0ですので、そのまま2倍します。
0.25*2=0.5
整数部分は0ですので、そのまま2倍します。
0.5*2=1
1になりましたのでここで終わりです。
上から整数部分を書いていきます
0.1001_{(2)}ですね。
これが0.5625の2進数表記になります。

(2)0.00111_{(2)}を10進数で表しなさい。
定義に基づいて計算していきます。
0.00111_{(2)}=0\times 2^{-1}+0\times 2^{-2}+1\times 2^{-3}+1\times 2^{-4}+1\times 2^{-5}
=1\times 0.125+1\times 0.0625+1\times 0.03125
=0.125+0.0625+0.03125
=0.21875

スポンサーリンク

終わりに

その仕組みを理解できていればあまり迷う事無く変換する方法を思い出せると思います。
また、比較的確かめる事も容易なので、間違った方法で変換していないか、確かめましょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

にほんブログ村 地域生活(街) 東北ブログへ にほんブログ村 地域生活(街) 東北ブログ 米沢情報へ にほんブログ村 教育ブログへ にほんブログ村 教育ブログ 塾教育へ
スポンサーリンク