「資格試験/情報処理技術者試験/高度共通午前1/過去問2013年秋午前1/問1回答」の編集履歴(バックアップ)一覧に戻る

資格試験/情報処理技術者試験/高度共通午前1/過去問2013年秋午前1/問1回答 - (2014/02/16 (日) 20:19:20) のソース

* 正解 ア [[次の問題へ>資格試験/情報処理技術者試験/高度共通午前1/過去問2013年秋午前2/問2]]
#include(資格試験/情報処理技術者試験/高度共通午前1/過去問2013年秋午前1/問1)
* 解説
誤差に関する問題です。(参考:http://ja.wikipedia.org/wiki/%E8%AA%A4%E5%B7%AE)
ア 正解
> 桁落ちとは、浮動小数点演算で演算結果が限りなく0に近い時に「有効桁数が少なくなる」事で発生する誤差です。
>例:31.638584 - 31.606961 = 0.031623
>この計算では、計算する2つの数字の有効桁数が8桁に対し、計算結果の有効桁数が5桁になっており、これが「桁落ち」と呼ばれます。
>「有効桁数が5桁になった・・・だから何?」と思われるでしょうか?お恥ずかしながら管理人はそう思いました。
>この有効桁数が減少(桁落ち)することで問題が発生するのは「計算する元の数字に誤差がある場合」なのです。
>浮動小数点演算でのパイ、ルート、三角関数などの複雑な計算では、計算結果の数値には常に誤差があると思ってよいでしょう。
>この数値に誤差が含まれる場合に「有効桁数が減少する」と、計算結果に含まれる誤差の割合が増大してしまいます。
>「計算結果に含まれる誤差の割合が増大する事」これが桁落ちの問題なのです。

イ 不正解
> 丸め誤差の説明です。
>コンピュータによる計算では、無限に続く数値もどこかで打ち切って計算しなければいけません。
>打ち切る際に、数値を四捨五入などで丸めるために発生する誤差が「丸め誤差」です。

ウ 不正解
> 情報落ちの説明です。
>例えば有効桁数が3桁しかない場合は次のような計算が発生します「1000 + 1 = 1000」
>これは1000を「1 * 10^3」として管理しているところに、1を足すと「1.001 * 10^3」となりますが、これでは有効桁数が4桁となり溢れてしまうので計算結果が「1000 + 1 = 1000」となってしまうのです。

エ 不正解
> 打ち切り誤差の説明です。
>無限に計算を続けることで精度が向上するとしても、ある程度のところで計算を打ち切るのが現実的です。

[[過去問2013年秋午前2に戻る>資格試験/情報処理技術者試験/高度共通午前1/過去問2013年秋午前2]] [[次の問題へ>資格試験/情報処理技術者試験/高度共通午前1/過去問2013年秋午前2/問2]]