けたおち
桁落ち
浮動小数点演算において、絶対値が近い数値同士を減算した際に上位桁が打ち消し合い、有効桁数が減少して精度が低下する誤差です。
詳しい説明
桁落ちとは、浮動小数点数を用いた計算において、絶対値が非常に近い数値同士を減算したときに、有効桁数が急激に減少してしまうことで発生する誤差のことです。コンピュータ内部で数値を扱う際、有効桁数には上限があります。引き算によって上位の桁が打ち消し合うと、結果として精度の低い数値が残ることになり、これが以降の計算全体に悪影響を及ぼします。
例えば、1.23456 - 1.23455 という計算を行うと、結果は 0.00001 となります。元の数値は5桁の精度を持っていましたが、計算結果は実質的に1桁の情報しか持たなくなります。これが桁落ちのメカニズムです。数値計算のプログラムを作成する際には、このような誤差が積もり積もって計算結果が大きく狂うことを防ぐために、計算順序の工夫やアルゴリズムの選定が重要になります。
試験では、浮動小数点演算における代表的な誤差として「情報落ち」と併せて頻出です。桁落ちは「近い値同士の引き算」で起きる一方、情報落ち(加減算において絶対値の大きい数値と小さい数値を計算し、小さい数値が無視される現象)とは原因と結果が異なります。この違いを明確に区別し、どのような計算手順で発生するかを理解しておく必要があります。
試験で問われること
ITパスポート試験
- 浮動小数点演算における計算誤差の種類を理解する。
- 桁落ちの原因が「近い値同士の減算」であることを押さえる。
- 情報落ちと桁落ちの定義を混同しないようにする。
基本情報技術者試験
- 浮動小数点数の表現形式と有効桁数の関係を理解する。
- 桁落ちが発生する具体的な数値計算例を理解し、回避策を検討できる。
- 計算機特有の誤差として、桁落ちと情報落ちのメカニズムを正確に説明できる。