C言語を用いて実験データ処理用のプログラムを作成する。いま、double型変数 a、b に2つの測定データが格納されている。a、b の値はともに有効桁数が7桁あり、それぞれ次の範囲内にあることがわかっている。
3 < a < 3.0001 2.9999 < b < 3
@〜Dの演算を行ったときに、もとのa、b と比べて最も顕著に演算結果の有効桁数が失われるものを選べ。
@ a + b A a - b
B a * b C a / b
D sqrt (a*a + b*b)
A
例えば a = 3.000001、b = 2.999999 として計算すると
@ a + b = 6.000000
A a - b = 0.000002
B a * b = 8.999999
C a / b = 1.000001
D sqrt (a * a + b * b) = 4.242641
A以外は有効桁数が7桁のままであるが、Aは有効桁が1桁となる。このように有効桁数が極端に失われることを桁落ちという。
W−1 | 目次 | W−3 |