基本情報技術者試験 過去問解説
数値表現とは?基本情報技術者試験 令和4年度 科目A 問2を解説
基本情報技術者試験 令和4年度 科目A 問2は、数値表現に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
次の流れ図は,10進整数 j(0<j<100)を8桁の2進数に変換する処理を表している。2進数は下位桁から順に,配列の要素 NISHIN(1) から NISHIN(8) に格納される。流れ図の a 及び b に入れる処理はどれか。ここで,j div 2 は j を2で割った商の整数部分を,j mod 2 は j を2で割った余りを表す。

この問題の出題ポイント
- 数値表現の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- データ構造分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
- 関連タグ: 数値表現。
選択肢
- アa: j ← j div 2 / b: NISHIN(k) ← j mod 2
- イa: j ← j mod 2 / b: NISHIN(k) ← j div 2
- ウa: NISHIN(k) ← j div 2 / b: j ← j mod 2
- エa: NISHIN(k) ← j mod 2 / b: j ← j div 2正解
正解
エ: a: NISHIN(k) ← j mod 2 / b: j ← j div 2
解説
10進整数 j を2進数に変換するには、j mod 2 で最下位ビットを取り出し配列に格納、その後 j ← j div 2 で右シフトし次の桁へ進めます。a が NISHIN(k)←j mod 2、b が j←j div 2 の順番。エが正解。
なぜ他の選択肢が違うのか
ア
a で j を div 2 してから mod 2 を取ると、本来格納すべき桁が消えてしまいます。
イ
j ← j mod 2 にしてしまうと、j が 0 か 1 になりループの2回目以降が成立しません。
ウ
NISHIN に j div 2 を格納すると桁の値ではなく商が入ってしまいます。
エ(正解)
まず余りを格納し、その後 j を商で更新する正しい順序で、正解です。
解き方の整理
数値表現の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
令和4年度 科目A の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。