演算レジスタが16ビットのCPUで符号付き16ビット整数x1,x2を16ビット符号付き加算(x1+x2)するときに,全てのx1,x2の組合せにおいて加算結果がオーバフローしないものはどれか。ここで,|x|はxの絶対値を表し,負数は2の補数で表すものとする。
令和3年度 秋期 応用情報技術者 問8
テクノロジ系
正解と解説
正解 エ
符号が異なる2数の和は、2数の間の値になります。そのため、16ビットの範囲(−32,768〜32,767)を超えません。
16ビットの2の補数で表せる範囲は−32,768〜32,767です。x1とx2の符号が異なると、和の絶対値は|x1|と|x2|の大きい方以下になります。和は必ずx1とx2の間に入るので、範囲を超えることはありません。オーバフローが起きうるのは、同じ符号どうしを加算した場合だけです。
ア:x1=32,767、x2=1は条件を満たします。しかし和の32,768は正の最大値32,767を超え、オーバフローします。
イ:x1=x2=32,766は条件を満たします。しかし和の65,532は表現範囲を超え、オーバフローします。
ウ:x1×x2>0は、同じ符号どうしの加算を意味します。例えば20,000+20,000は40,000になり、オーバフローします。
出典:令和3年度 秋期 応用情報技術者試験 問8
全年度から出題。10問で実力を判定します。登録不要。
出典:令和3年度 秋期 応用情報技術者試験 問8(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方