コンピュータを使用して整数の加減算を行う場合,あふれ(オーバーフロー)に
注意する必要がある。次の表のうち,あふれ(オーバーフロー)の可能性がある組
合せはどれか。
┌───┬──────┬──────┐
│演 算│オペランドx│オペランドy│
┌─┼───┼──────┼──────┤
│a│x+y│ 正 │ 正 │
├─┼───┼──────┼──────┤
│b│x+y│ 正 │ 負 │
├─┼───┼──────┼──────┤
│c│x+y│ 負 │ 正 │
├─┼───┼──────┼──────┤
│d│x+y│ 負 │ 負 │
├─┼───┼──────┼──────┤
│e│x−y│ 正 │ 正 │
├─┼───┼──────┼──────┤
│f│x−y│ 正 │ 負 │
├─┼───┼──────┼──────┤
│g│x−y│ 負 │ 正 │
├─┼───┼──────┼──────┤
│h│x−y│ 負 │ 負 │
└─┴───┴──────┴──────┘
ア a, d, f, g
イ b, c, e, h
ウ b, e
エ c, e, h
【実習課題】実際にプログラムで試してみよう。
注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。
KAZ池田氏提供 http://www.mag2.com/faq/mua.htm
■キーワード■ あふれ(オーバーフロー)
■解答■
基本情報技術者午前平成15年秋問04
二種午前平成11年秋問6
ア a, d, f, g
> オーバフローとは、演算結果が表現できる範囲を超えることを
> いう。例として、1けたしか表現できないとし、x = 5、y = 5
> として考えてみる。
> a:x + y = 5 + 5 = 10
> b:x + y = 5 + -5 = 0
> c:x + y = -5 + 5 = 0
> d:x + y = -5 + (-5) = -10
> e:x - y = 5 - 5 = 0
> f:x - y = 5 - (-5) = 10
> g:x - y = -5 - 5 = -10
> h:x - y = -5 - (-5) = 0
> 演算結果が2けた、つまりオーバフローが生じているのは
> a、d、f、gである。よってアとなる。
どうもありがとうございました。