本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成29年度 技術士第一次試験問題【専門科目】

V−7

C言語を用いて実験データ処理用のプログラムを作成する。いま、double型変数 a、b に2つの測定データが格納されている。a、b の値はともに有効桁数が7桁あり、それぞれ次の範囲内にあることがわかっている。
 3 < a < 3.0001  2.9999 < b < 3
 次の演算を行ったときに、もとのa、b と比べて演算結果の有効桁数が最も失われるものはどれか。 

@ a + b

A a - b

B a * b

C a / b

D sqrt (a * a + b * b)


類題

H21 W-2


正解

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桁となる。このように有効桁数が極端に失われることを桁落ちという。

V−6 目次 V−8