応用情報技術者試験 令和3年度秋期 午前 問8「演算レジスタが16ビットのCPUで符号付き16ビット整数x1,x2を16ビット符…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約72%です。
エ. x1とx2の符号が異なる場合
正答率 71.8%(1,488人中 1,068人が正解)
16ビットの2の補数(符号付き整数)で表せる範囲は −32,768〜+32,767 であり、加算結果がこの範囲を超えるとオーバフローする。オーバフローは「同符号どうしの加算(正+正 が +32,767 を超える、負+負 が −32,768 を下回る)」でのみ発生する点が核心である。x1 と x2 の符号が異なる場合、和の絶対値は元の数の絶対値以下になり、必ず範囲内に収まるためオーバフローは起こらない。したがって正解はエ。