SPI練習問題-問6(n進法)

n進数に関する問題。

[設問1]10進数であらわされた4928を6進数であらわすと何桁になるか?

[解答群]
 3桁
 4桁
 5桁
 6桁
 7桁
 8桁
 9桁
 該当なし

[設問2]10進数の574をn進数であらわすと2354になった。これは何進数であらわした値か?

[解答群]
 2進数
 3進数
 4進数
 5進数
 6進数
 7進数
 8進数
 10進数



解答と解説

使用する公式:
n進法の解き方に関しては、『SPI n進法 ~練習問題と徹底解説!~』のページで詳しく解説しているので、参考にしてください。早く解く方法なども紹介しています。

設問1の解答と解説:

10進数から6進数への変換なので、ある程度最初の段階で解答を絞ることができる。10進数よりも6進数の方が早く桁上がりするため、桁数としては必ず10進数の数字以上になります。よって、少なくても解答はAではない。

実際に10進数4928を6進数に変換してみましょう。10進数を6進数に変換する方法は、6で割っていき最後の商、および余りを下から順に並べた数が6進数の値となります。

10進数から6進数へ変換

10進数4928を6進数に変換すると34452となります。

よって、求める解答は5桁のC。

解答:C

設問2の解答と解説:

n進数が何進数なのかは総当たりしていくしかないのだが、計算する前の最初の段階である程度絞ることはできます。各進数の取りうる範囲は次の通りです。

2進数の取りうる数値:0~1
3進数の取りうる数値:0~2
4進数の取りうる数値:0~3
5進数の取りうる数値:0~4

変換後の数値が2354という時点で、2進数、3進数、4進数、5進数という選択肢はなくなります。また、元々の数値が10進数の574なので、変換後の数値2354は10進数でもないということが分かります。変換後の数値が10進数なら変換前の574と同じ数値になるはずですよね。

よって、解答は6進数、7進数、8進数のいずれかになります。

あとは、順番に変換して2354になる進数を探すしかないのですが、ここでも真面目に6進数から順番に計算してはいけません。6進数、7進数、8進数の順で計算すると最悪3回計算しなければならないことになる。しかし、間の7進数から計算することで1回で計算が済むのです。

設問1でも触れましたが、n進数のnが小さいほど桁上がりが早く発生し桁数が大きくなります。よって、7進数に変換した数値が2354より大きい場合、その時点で解答が8進数だと確定します。。逆に7進数に変換した数値が2354より小さかった場合、6進数が解答になることがわかります。

では、10進数574を7進数に変換します。7進数への変換は7で割っていきその時の最後の商と余りを見ます。

10進数から7進数へ変換

10進数574を7進数に変換すると、1450になります。このことより、もし、10進数の574を8進数に変換していた場合、8進数は7進数より桁上りが遅いので、1450よりも小さくなることがわかります。よって、必然的に8進数でもないということが分かり、解答は6進数となります。

念のため、実際に10進数574を6進数に変換してみましょう。

10進数から6進数へ変換

2354になりましたね。実際の試験では最後の計算はせずに自信を持って6進数だと解答できるようにしましょう。

解答:E