平成27年度 秋期2テクノロジ系

基本情報 平成27年度 秋期 問2:テクノロジ系に関する問題

桁落ちの説明として, 適切なものはどれか。

  • a値がほぼ等しい浮動小数点数同士の減算において, 有効桁数が大幅に減ってしま うことである。正答
  • b演算結果が, 扱える数値の最大値を超えることによって生じるエラーのことであ る。
  • c浮動小数点数の演算結果について, 最小の桁よりも小さい部分の四捨五入, 切上 げ又は切捨てを行うことによって生じる誤差のことである。
  • d浮動小数点数の加算において, 一方の数値の下位の桁が結果に反映されないこと である。
正答:A値がほぼ等しい浮動小数点数同士の減算において, 有効桁数が大幅に減ってしま うことである。

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは a「ほぼ同じ大きさの数を引き算したら有効桁数が大幅に減る」です。

たとえば `1.234567 − 1.234566 = 0.000001` を考えてみてください。元は7桁の数だったのに、答えは1桁しか意味がありません。これが桁落ち

コンピュータは限られた桁数しか覚えられないので、こういう引き算で誤差が大きくなってしまうのです。

👉 覚え方:桁が落ちる=引き算で有効桁数が一気に減る現象。

ほかの選択肢:b 最大値超え=オーバーフロー/c 最小桁の四捨五入=丸め誤差/d 下位桁が反映されない=情報落ち

標準試験対策の基準レベル

なぜこれが正解か

正解は a。桁落ち(Cancellation Error)は、値がほぼ等しい浮動小数点数同士の減算で発生し、有効桁数が大幅に失われる誤差。例:`1.2345678 − 1.2345670 = 0.0000008`(有効桁数7桁→1桁に減少)。

各選択肢の解説

  • b 誤り:演算結果が最大値を超えるのはオーバーフロー(桁あふれ)
  • c 誤り:最小桁より小さい部分の四捨五入・切捨て・切上げによる誤差は丸め誤差
  • d 誤り:浮動小数点加算で一方の下位桁が結果に反映されないのは情報落ち

覚え方・ひっかけ注意

浮動小数点誤差の4大用語:

  • 桁落ち:近い値の引き算で有効桁数減
  • 情報落ち:絶対値の差が大きい加算で小さい方の情報消失
  • 丸め誤差:最下位桁の四捨五入等
  • 打切り誤差:無限級数の有限項打切り
  • オーバーフロー/アンダーフロー:数値範囲の上限/下限超過

それぞれ「いつ発生するか」「対策は何か」をセットで暗記。

上級誤答論破・背景理論まで深掘り

理論的背景

浮動小数点演算はIEEE 754規格(32bit単精度・64bit倍精度・128bit四倍精度)で標準化され、仮数部・指数部・符号部から構成される。桁落ちは「有限の仮数部精度」と「減算の正規化過程」に起因する不可避な現象。誤差解析では絶対誤差(|x_true - x_approx|)と相対誤差(|x_true - x_approx|/|x_true|)の両面から評価し、条件数(Condition Number)で問題の数値的安定性を測る。

実務での使われ方

桁落ち回避テクニック:

  • 数式変形:`sqrt(x+1) - sqrt(x)` → `1/(sqrt(x+1) + sqrt(x))` と分子有理化
  • 二次方程式の解の公式:`(-b ± sqrt(b²-4ac))/2a` で `b > 0` のとき `b - sqrt(b²-4ac)` を避け、`-2c/(b + sqrt(b²-4ac))` を使う
  • 指数関数差分:`exp(x) - 1` は `expm1(x)` を使う(C標準ライブラリ)
  • 三角関数差分:`1 - cos(x)` は `2*sin²(x/2)` で計算
  • 加算順序:Kahan summation algorithmで誤差累積を補正

試験での位置づけ

基本情報の科目B(旧午後)・応用情報・データベーススペシャリスト・組込みシステムスペシャリストで頻出。誤差の種類識別、IEEE 754表現、計算結果の精度評価がよく問われる。金融計算(10進固定小数点 vs 浮動小数点)の選択も実務観点で重要。

選択肢の発展補足

  • 情報落ち(d):`10⁸ + 10⁻⁸` のように絶対値差が仮数部精度を超える加算で小さい方が消失。
  • 丸め誤差(c):IEEE 754は「最近接偶数への丸め(Round to Nearest Even)」が既定。
  • オーバーフロー(b):32bit float の最大値約3.4×10³⁸ を超えると `+inf`、最小正規化数約1.2×10⁻³⁸ 未満は非正規化数(Subnormal)または0。
  • 関連:機械イプシロン(ε:1 + ε ≠ 1となる最小値)、ULP(Unit in the Last Place)、相対誤差の累積。
  • 数値計算の安定性:行列演算(LU分解の枢軸選択)・線形回帰(正規方程式 vs QR分解)など実用問題で深刻化。
出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 秋期2/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。