SPI練習問題-問6(n進法)
n進数に関する問題。
[設問1]10進数であらわされた4928を6進数であらわすと何桁になるか?
A 3桁
B 4桁
C 5桁
D 6桁
E 7桁
F 8桁
G 9桁
H 該当なし
[設問2]10進数の574をn進数であらわすと2354になった。これは何進数であらわした値か?
A 2進数
B 3進数
C 4進数
D 5進数
E 6進数
F 7進数
G 8進数
H 10進数
解答と解説
使用する公式:
n進法の解き方に関しては、『SPI n進法 ~練習問題と徹底解説!~』のページで詳しく解説しているので、参考にしてください。早く解く方法なども紹介しています。
設問1の解答と解説:
10進数から6進数への変換なので、ある程度最初の段階で解答を絞ることができる。10進数よりも6進数の方が早く桁上がりするため、桁数としては必ず10進数の数字以上になります。よって、少なくても解答はAではない。
実際に10進数4928を6進数に変換してみましょう。10進数を6進数に変換する方法は、6で割っていき最後の商、および余りを下から順に並べた数が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進数574を7進数に変換すると、1450になります。このことより、もし、10進数の574を8進数に変換していた場合、8進数は7進数より桁上りが遅いので、1450よりも小さくなることがわかります。よって、必然的に8進数でもないということが分かり、解答は6進数となります。
念のため、実際に10進数574を6進数に変換してみましょう。
2354になりましたね。実際の試験では最後の計算はせずに自信を持って6進数だと解答できるようにしましょう。
解答:E