カコモンノート

問8応用情報技術者 令和3年度 秋期

8 / 80問
令和3年度 秋期2021年

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

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 4

解説

正解は4。16ビット符号付き整数(2の補数)が表せる範囲は−32,768〜32,767である。x1とx2の符号が異なれば、和の絶対値はどちらか大きい方の絶対値以下になり、必ず範囲に収まる。たとえば32,767+(−32,768)=−1である。よって全ての組合せでオーバフローしない。

  • 1は、x1=x2=16,384なら|x1|+|x2|=32,768で条件を満たすが、和の32,768は最大値32,767を超える。
  • 2は、x1=x2=32,766なら和は65,532で、範囲を大きく超える。
  • 3は、x1×x2>0は同符号を意味し、正どうし・負どうしの大きな値を足すとオーバフローする。

根拠:2の補数表現(nビットの範囲は−2ⁿ⁻¹〜2ⁿ⁻¹−1)

KEY POINT
符号の異なる2数の和は範囲を超えない。2の補数16ビットの範囲は−32,768〜32,767。
出典:令和3年度 秋期 応用情報技術者試験 午前 問8(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。