平成20年 春期 基本情報技術者 午前 問1
16ビットの2進数nを16進数の各けたに分けて、下位のけたから順にスタックに格納するために、次の手順を4回繰り返す。
a、bに入る適切な語句の組合せはどれか。
ここで、XXXX16は16進数XXXXを表す。
[手順]
(1)| a |をxに代入する。
(2)xをスタックにプッシュする。
(3)nを| b |論理シフトする。
| a | b | |
| ア | n AND 000F16 | 左に4ビット |
| イ | n AND 000F16 | 右に4ビット |
| ウ | n AND FFF016 | 左に4ビット |
| エ | n AND FFF016 | 右に4ビット |
【キーワード】
・2進数、16進数
・シフト演算
・スタック
【キーワードの解説】
- 2進数、16進数
数の表記で1けたで幾つまで表すことができるかのことです。
私たちが通常使用している数は1桁で0〜9までの10個の表現法違法があるので10進数になります。
2進数の場合、2つなので0と1。16進数の場合、16なので0〜9、A〜F。 - シフト演算(ビットシフト)
数値を右か左にけた移動する演算です。
1234を右に1ビットシフトした場合、123になります。左に1ビットシフトした場合、12340になります。なお、有効けた数が4桁の場合1234の左1ビットシフトは2340になります。 - スタック
処理途中のデータを一時的に記憶させるメモリ領域のことで、記憶させた順番と逆の順にデータを取り出します。
1→2→3→4とスタックにセットすると、取り出す順は4→3→2→1になります。これをLIFO(Last In, First Out)やFILO(First In, Last Out)と呼びます。
スポンサードリンク
2進数、16進数、シフト演算、スタックの問題です。
難しいという問題ではありませんが、最初の問題である午前の問1としては、考える問題でした。
この問題では2進数を4けたごとにまとめたものが16進数であるということ、処理を単純化するためにシフトの演算を用いること、スタックの特徴についての知識が問われています。
基本的な内容の組合せではありますが、ちょっとひねりがきいているので、問題としては面白いと思います。
今回から先日行われた平成20年春期の問題です。
1問目からこういった問題で面食らった人もいたと思いますが、落ち着いて考えるとそれほど難しい問題ではありません。試験では冷静になることが大事ですね。
情報処理技術者試験を行っている情報処理推進機構(IPA)のホームページ(URL http://www.jitec.jp/)で来春からの新しい試験制度のサンプル問題(午後)が掲載されています。
せっかくの問題ですので、秋に基本情報処理を受ける人は挑戦してみましょう。
また、サンプル問題についての意見も募集しています。

