演算レジスタが16ビットのCPUで符号付16ビット整数x1 、x2 を16ビット符号付加算(x1 + x2 )するときに、全てのx1 、x2 の組合せにおいて加算結果がオーバフローしないものはどれか。
ここで、|x |はx の絶対値を表し、負数は2の補数で表すものとする。
ア |
|x1 |+ |x2 |≤32,768の場合 |
イ |
|x1 |及び|x2 |がともに32,767未満の場合 |
ウ |
x1 ×x2 >0の場合 |
エ |
x1 とx2 の符号が異なる場合 |
答え エ
【解説】
符号付16ビット整数で表すことのできる範囲は-32,678〜32,677であり、2つの符号付16ビット整数x1 、x2 を加算した結果がオーバフローしないのは、x1 が正の数ならx2 が負の数、x1 が負の数ならx2 が正の数というx1 とx2 の符号が異なる場合(エ)である。
【キーワード】
・あふれ
【キーワードの解説】
- あふれ(オーバフロー、over-flow)
文字通り、制限があるところにそれ以上のものを入れたときに発生します。
『けたあふれ』ということも多いです。
もっと、「オーバフロー」について調べてみよう。
戻る
一覧へ
次へ
|