Contents
【問題】
【難易度】★★★☆☆(普通)
次の文章は,基数の変換に関する記述である。
・\( \ 2 \ \)進数\( \ \mathrm {00100100} \ \)を\( \ 10 \ \)進数で表現すると\( \ \fbox { (ア) } \ \)である。
・\( \ 10 \ \)進数\( \ \mathrm {170} \ \)を\( \ 2 \ \)進数で表現すると\( \ \fbox { (イ) } \ \)である。
・\( \ 2 \ \)進数\( \ \mathrm {111011100001} \ \)を\( \ 8 \ \)進数で表現すると\( \ \fbox { (ウ) } \ \)である。
・\( \ 16 \ \)進数\( \ \fbox { (エ) } \ \)を\( \ 2 \ \)進数で表現すると\( \ \mathrm {11010111} \ \)である。
上記の記述中の空白箇所(ア),(イ),(ウ)及び(エ)に当てはまる組合せとして,正しいものを次の(1)~(5)のうちから一つ選べ。
\[
\begin{array}{ccccc}
& (ア) & (イ) & (ウ) & (エ) \\
\hline
(1) & 36 & 10101010 & 7321 & \mathrm {D7} \\
\hline
(2) & 37 & 11010100 & 7341 & \mathrm {C7} \\
\hline
(3) & 36 & 11010100 & 7341 & \mathrm {D7} \\
\hline
(4) & 36 & 10101010 & 7341 & \mathrm {D7} \\
\hline
(5) & 37 & 11010100 & 7321 & \mathrm {C7} \\
\hline
\end{array}
\]
【ワンポイント解説】
基数変換は暗記するしかないため,難しく感じるかもしれませんが,マスターすると確実に点数が取れます。本問を通じて,あらゆる変換をマスターして下さい。参考に各進数の対応表を示します。
【解答】
解答:(4)
(ア)
\( \ 2 \ \)進数を\( \ 10 \ \)進数にするためには各桁に\( \ 2^{x}(x=0,1,2・・・) \ \)乗をかけて導出します。具体的には,
\[
\begin{eqnarray}
\left( 00100100\right) _{2} &=&0\times 2^{7} +0\times 2^{6}+1\times 2^{5}+0\times 2^{4}+0\times 2^{3}+1\times 2^{2}+0\times 2^{1}+0\times 2^{0} \\[ 5pt ]
&=&0+0+32+0+0+4+0+0 \\[ 5pt ]
&=&36
\end{eqnarray}
\]
と求められます。
(イ)
\( \ 10 \ \)進数を\( \ 2 \ \)進数にするためには,\( \ 10 \ \)進数を\( \ 2 \ \)で割っていき,その余りの数を下から並べると求められます。
どうしても上記の方法を思い出せない場合は(ア)と同じように,解答の各\( \ 2 \ \)進数を\( \ 10 \ \)進数にすることで求めることもできます。
\[
\begin{eqnarray}
\left( 10101010\right) _{2} &=&1\times 2^{7} +0\times 2^{6}+1\times 2^{5}+0\times 2^{4}+1\times 2^{3}+0\times 2^{2}+1\times 2^{1}+0\times 2^{0} \\[ 5pt ]
&=&128+0+32+0+8+0+2+0 \\[ 5pt ]
&=&170
\end{eqnarray}
\]
\[
\begin{eqnarray}
\left( 11010100\right) _{2} &=&1\times 2^{7} +1\times 2^{6}+0\times 2^{5}+1\times 2^{4}+0\times 2^{3}+1\times 2^{2}+0\times 2^{1}+0\times 2^{0} \\[ 5pt ]
&=&128+64+0+16+0+4+0+0 \\[ 5pt ]
&=&212
\end{eqnarray}
\]
(ウ)
\( \ 2 \ \)進数を\( \ 8 \ \)進数にするためには,\( \ 2 \ \)進数を\( \ 3 \ \)桁ずつ分け,それぞれを数値で出すことで求められます。
この解法も忘れてしまった時はどちらも10進数にすることで求めることもできます。
\[
\begin{eqnarray}
\left( 111011100001\right) _{2} &=&1\times 2^{11} +1\times 2^{10} +1\times 2^{9} +0\times 2^{8} +1\times 2^{7} +1\times 2^{6} \\[ 5pt ]
&+&1\times 2^{5}+0\times 2^{4}+0\times 2^{3}+0\times 2^{2}+0\times 2^{1}+1\times 2^{0} \\[ 5pt ]
&=&2048+1024+512+0+128+64+32+0+0+0+0+1 \\[ 5pt ]
&=&3809
\end{eqnarray}
\]
\[
\begin{eqnarray}
\left( 7321\right) _{8} &=&7\times 8^{3} +3\times 8^{2} +2\times 8^{1} +1\times 8^{0} \\[ 5pt ]
&=&3584+192+16+1 \\[ 5pt ]
&=&3793
\end{eqnarray}
\]
\[
\begin{eqnarray}
\left( 7341\right) _{8} &=&7\times 8^{3} +3\times 8^{2} +4\times 8^{1} +1\times 8^{0} \\[ 5pt ]
&=&3584+192+32+1 \\[ 5pt ]
&=&3809
\end{eqnarray}
\]
(エ)
\( \ 2 \ \)進数を\( \ 16 \ \)進数にするためには,\( \ 2 \ \)進数を\( \ 4 \ \)桁ずつ分け,それぞれを数値で出すことで求められます。
\( \ 2 \ \)進数や\( \ 8 \ \)進数と同じように\( \ 16 \ \)進数でも同じような計算ができます。ただし,英字がいくつであるかは知っている必要があります。
\[
\begin{eqnarray}
\left( 11010111\right) _{2} &=&1\times 2^{7} +1\times 2^{6}+0\times 2^{5}+1\times 2^{4}+0\times 2^{3}+1\times 2^{2}+1\times 2^{1}+1\times 2^{0} \\[ 5pt ]
&=&128+64+0+16+0+4+2+1 \\[ 5pt ]
&=&215
\end{eqnarray}
\]
\[
\begin{eqnarray}
\left( \mathrm{C}7\right) _{16} &=&\mathrm{C}(12)\times 16^{1} +7\times 16^{0} \\[ 5pt ]
&=&192+7 \\[ 5pt ]
&=&199
\end{eqnarray}
\]
\[
\begin{eqnarray}
\left( \mathrm{D}7\right) _{16} &=&\mathrm{D}(13)\times 16^{1} +7\times 16^{0} \\[ 5pt ]
&=&212+3 \\[ 5pt ]
&=&215
\end{eqnarray}
\]