桁落ちとは?けたおち
桁落ちとは、値がほぼ等しい浮動小数点数どうしを引き算したとき、上の位の数字が打ち消し合って消え、結果に残る正しい桁(有効数字)が大きく減ってしまう現象。符号が逆で絶対値の近い数どうしを足した場合も同じことが起こる。浮動小数点数は、仮数(有効数字の並び)と指数(小数点の位置)で数を表すので、仮数の桁数が限られていることが原因になる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
コンピュータは数をきっちり無限の桁では持てず、有効数字の桁数を決めて表す。ふだんの計算では小さな誤差で済んでも、近い値どうしを引くと、正しかった上の桁が消えて、誤差を含んだ下の桁だけが結果に残る。科学技術計算で答えが大きく狂う原因になったため、誤差の種類として名前を付け、避け方を考えるようになった。
具体例
有効数字 4 桁で考えると、1.234 − 1.233 = 0.001 となり、元は 4 桁正しかった数が、答えでは 1 桁しか正しい桁が残らない。Python で (1 + 1e-15) - 1 を計算すると、1.1102230246251565e-15 と表示される。e-15 は「小数点を左へ 15 桁ずらす」という書き方で、1e-15 は 0.000000000000001、答えは 0.00000000000000111…のこと。正しい答え 0.000000000000001 より 1 割以上大きく、Python や Excel が使う倍精度の浮動小数点数でも起こる。避け方の例:有効数字 4 桁で √1001 − √1000 をそのまま計算すると 31.64 − 31.62 = 0.02 になるが、正しくは 0.01581 ほど。(√1001 − √1000) × (√1001 + √1000) = 1001 − 1000 = 1 なので、式を 1 ÷ (√1001 + √1000) に書き換えると、1 ÷ 63.26 = 0.01581 と近い値の引き算をせずに正しく求まる。
試験での引っ掛け
情報落ちとの取り違えが最頻出。桁落ちは「近い値どうしの引き算」で有効桁が減る、情報落ちは「大きさが極端に違う値の足し算・引き算」で小さい方が消える。丸め誤差(表しきれない下の桁を四捨五入・切り上げ・切り捨てしたことによる誤差)、打切り誤差(無限に続く計算を途中で打ち切ったことによる誤差)、オーバーフロー(扱える最大値を超える)とも原因が違う。避け方も違い、桁落ちは式を変形して近い値の引き算をしないようにする。
関連用語
出た過去問
出典:令和7年度 公開問題 基本情報技術者試験 科目A 問2(IPA)解説で登場
浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。
正解:数表現のけた数に限度があるので,最下位けたより小さい部分について四捨五入や切上げ,切捨てを行うことによって生じる誤差である。
要点:丸め誤差は有限桁ゆえの四捨五入等で生じる誤差
丸め誤差は、扱える桁数に限りがあるために、表現しきれない下位の部分を四捨五入・切上げ・切捨てで処理した結果生じる誤差である。浮動小数点数では仮数部の桁数が有限なので必ず起こりうる。桁あふれや情報落ち、桁落ちとは発生の原因が異なるので区別する。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。