IPA過去問ドリル

平成23年度 秋期 基本情報技術者試験 午前 問1

テクノロジ/基礎理論

16ビットの2進数 n を16進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を4回繰り返す。a,b に入れる適切な語句の組合せはどれか。ここで,XXXX16 は16進数 XXXX を表す。 〔手順〕 (1) a をxに代入する。 (2) xをスタックにプッシュする。 (3) nをb論理シフトする。 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成23年度 秋期 基本情報技術者試験 午前 問1

正解:イ

解説

16ビットの2進数を16進数の各桁(4ビットずつ)に分解するには,下位4ビットを取り出す操作と,次の桁を下位に移動させる操作を繰り返します。下位4ビットだけを取り出すには,下位4ビットが全て1である000F16とAND演算をとり,上位ビットを0にマスクします。取り出した後は,nを右に4ビット論理シフトすることで,次の4ビットが下位に移動し,同じ処理を繰り返せます。

選択肢ごとの解説

  • 誤り。aはFFF016ではなく000F16でなければ下位4ビットを取り出せません。
  • 正しい。000F16とのANDで下位4ビットを取り出し,右に4ビット論理シフトすることで次の桁を順に下位へ移動できます。
  • 誤り。aはFFF016ではなく000F16とのANDが必要で,これでは上位ビットが残ってしまいます。
  • 誤り。bが左シフトでは,取り出したい次の桁が下位に来ず,正しく分解できません。
基本情報技術者の過去問を演習モードで解く