令和3年度 高度共通 午前I(PM試験) 問4

分野:基礎理論|実際に出題されたIPA過去問題

演算レジスタが16ビットのCPUで符号付き16ビット整数x1,x2を16ビット符号付き加算(x1+x2)するときに,全てのx1,x2の組合せにおいて加算結果がオーバフローしないものはどれか。ここで,|x|はxの絶対値を表し,負数は2の補数で表すものとする。

  1.  |x1|+|x2|≦32,768の場合
  2.  |x1|及び|x2|がともに32,767未満の場合
  3.  x1×x2>0の場合
  4.  x1とx2の符号が異なる場合
解答・解説を見る

正解:エ

AI解説

16ビット符号付き整数の表現範囲は−32,768〜+32,767である。オーバフローは加算結果がこの範囲を超えると発生するが、x1とx2の符号が異なる場合、和の絶対値は必ず|x1|と|x2|の大きい方以下になるため、結果は常に表現範囲内に収まりオーバフローしない。したがってエが正しい。 ア: |x1|+|x2|≦32,768でも、例えばx1=x2=16,384のとき和は32,768となり、上限32,767を超えてオーバフローする。 イ: 両方が32,767未満でも、例えば20,000+20,000=40,000は範囲を超えるためオーバフローし得る。 ウ: x1×x2>0は両者が同符号であることを意味し、同符号同士の加算は絶対値が増えるため最もオーバフローしやすい条件である。 エ: 正しい。異符号の加算は実質的に減算であり、結果の絶対値は元の値以下になるため、表現範囲を超えることがない。 💡 「同符号の加算はオーバフローの危険あり、異符号の加算は絶対に安全」が2の補数演算の鉄則。境界値(−32,768と+32,767の非対称)を使った反例で選択肢を潰すとよい。

出典:令和3年度 秋期 プロジェクトマネージャ試験 午前I 問4 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・904問収録)

「基礎理論」分野の攻略ポイント

2進数・論理演算・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量が範囲です。純粋な計算問題が多く、対策の有無がそのまま得点差になります。手を動かす練習が最も効く分野です。

基礎理論の攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(基礎理論)の過去問