ウカマル応用情報技術者ログイン

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

テクノロジ系

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

選択肢
正解と解説

正解 エ

符号が異なる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 が確かめています。作り方