平成29年度 III-7

科目: 専門科目 / 分野: 情報工学部門 / 年度: 平成29年度

III-7 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

double型変数a、bに格納された有効桁数7桁の2つの測定データ(3<a<3.0001、2.9999<b<3)に対し、演算結果の有効桁数が最も失われる演算を選ぶ問題。ほぼ等しい2数の減算による桁落ちを理解する。

解説

この問題で問われていること

四則演算などで、有効桁数が失われる現象(桁落ち)が、どの演算で起きるかを判断する問題。

解き方

① 桁落ち=ほぼ等しい2つの数の引き算で、上の桁が打ち消し合い有効桁が減る。足し算・掛け算・割り算ではほとんど減らない
② a、bはどちらも約3でほぼ等しい → a−b は 0.0002 未満になり、7桁のうち上の4桁ほどが消える
③ ②

正解が正しい理由

aは3に非常に近い(3より少し大きい)値、bも3に非常に近い(3より少し小さい)値で、a≈bである。ほぼ等しい2つの数の差をとると、上位の桁が打ち消し合い、下位の(誤差を含む)桁だけが残るため、有効桁数が大きく失われる(桁落ち)。a−bは、約0.0001〜0.0002程度の値で、元の7桁の有効桁数から、4桁ほど失われて、3桁程度しか残らない。したがって②が最も適切である。

各選択肢について

覚えるべきポイント

桁落ち=ほぼ等しい2数の減算で、有効桁数が失われること。桁落ちの回避には、式の変形(有理化など)による減算の回避が有効。

キーワード: 桁落ち、有効桁数、数値計算、誤差、浮動小数点、減算、情報工学部門