本文へ移動

基本情報技術者試験 · 学習ガイド

2008年度 春期 午前の問題・解答解説

旧制度の午前・午後と、2023年度以降の科目A・科目Bの公開問題を区別しています。現在の試験対策では現行シラバスと科目Bの形式を確認してください。公開問題は本試験の全出題を網羅する資料ではありません。

2008年度 春期 午前の概要
30:00

問題番号から選ぶ

ビット演算と論理シフトによる基数変換・桁抽出

基礎理論 · 基数変換 / ビット演算 / 論理シフト / スタック

16ビットの2進数 n を16進数の各桁に分解し、下位の桁から順にスタックへ格納するために、次の手順を4回繰り返す。空欄 a 及び b に入る適切な字句の組合せはどれか。ここで、xxxx16 は16進数 xxxx を表す。 〔手順〕 (1) [ a ] を x に代入する。 (2) x をスタックにプッシュする。 (3) n を [ b ] 論理シフトする。

解答・解説を表示

解答

イ

解説

まず要点:16進数の1けたは2進数の4ビット分にあたります。下位のけたを取り出すには、下位4ビットだけが1の値(000F16)と論理積(AND)をとります。取り出したら、次のけたを下位に移すため右へ4ビット論理シフトします。

解き方

  1. 下位4ビットだけを取り出すため、000F16(下位4ビットが1)と論理積(AND)をとって a を決めます。
  2. 処理した下位4ビットを捨て、次の4ビットを最下位へ移すため、n を右に4ビット論理シフトして b を決めます。
選択肢 ア不正解
左にずらすと次の下位けたを取り出せないので誤りです。
選択肢 イ正解
下位4ビットを取り出すANDと、次を下げる右4ビットシフトの組み合わせなので正しいです。
選択肢 ウ不正解
FFF016では下位4ビットが0になり、下位けたの値が取れないので誤りです。
選択肢 エ不正解
右シフトは合っていますが、FFF016では下位4ビットが消えてしまうので誤りです。

覚えるポイント

  • 16進数1桁は2進数4ビットに対応し、マスク抽出には000F16とのAND、桁送りには4ビットシフトを用いる。

間違えやすいところ

  • 左シフトと右シフトを逆にして、けたを上位へ押し出してしまう誤りです。

出題の前提:基本情報技術者試験シラバス(基数変換、論理演算、シフト演算)

出典:IPA(PDF保管先:基本情報技術者試験ドットコム)『2008年度 春期 午前』
IPA公式問題冊子(第三者保管の保存版) p.3 ↗(cdn.fe-siken.com)

2008年度 春期 午前

参照した公式資料

IPA(PDF保管先:基本情報技術者試験ドットコム)が公開した2008年度 春期 午前の問題・解答資料です。