問題
選択肢
- 1C言語においては、整数型の変数を使用する場合、その扱える範囲内の加減算でも桁落ち誤差が発生する。
- 2どのようなソフトウェアを利用しても、金額に関する計算では浮動小数点演算の仕組みを利用しないので計算誤差は生じない。
- 3表計算ソフトの演算処理では、丸め誤差が発生する。
- 4リレーショナルデータベースの処理ではデータの格納および格納されたデータの検索だけを行うので計算誤差は生じない。
正解
3. 表計算ソフトの演算処理では、丸め誤差が発生する。
詳しい解説を見る解説を閉じる
解説
表計算ソフト(ExcelやLibreOffice Calcなど)の内部演算はIEEE 754規格の倍精度浮動小数点で行われるため、0.1のような有限小数でも2進浮動小数点では循環小数となり、丸め誤差が発生する(例:0.1+0.2を計算しても厳密に0.3にはならない)。よってウが正しい。アは誤りで、C言語の整数型は範囲内の加減算であれば誤差は生じない(桁落ち誤差は浮動小数点演算で近い値同士を引いた際に有効桁が失われる現象)。イは誤りで、金額計算も多くの表計算ソフト・スクリプト言語ではデフォルトで浮動小数点を用いるため誤差が生じる可能性があり、これを避けるには整数(最小通貨単位)演算や十進数型(Decimal)を使う必要がある。エは誤りで、RDBMSでもSUM、AVG、各種関数による集計演算が行われるためNUMERIC型・FLOAT型などのデータ型に応じて丸め誤差が発生し得る。(出典: 一般社団法人 中小企業診断協会 平成24年度 中小企業診断士1次試験 経営情報システム 第6問)
中小企業診断士トップ
一問一答・予想問題・まとめノート