基本情報暗記無料で始める

桁落ちとは?けたおち

桁落ちとは、値がほぼ等しい浮動小数点数どうしを引き算したとき、上の位の数字が打ち消し合って消え、結果に残る正しい桁(有効数字)が大きく減ってしまう現象。符号が逆で絶対値の近い数どうしを足した場合も同じことが起こる。浮動小数点数は、仮数(有効数字の並び)と指数(小数点の位置)で数を表すので、仮数の桁数が限られていることが原因になる。

最終更新:2026-10-10

試験情報

基本情報技術者試験の過去問では1問の解説で触れられています。

基本情報技術者試験の頻出用語/テクノロジ系

この語が出る過去問を解く →

背景

コンピュータは数をきっちり無限の桁では持てず、有効数字の桁数を決めて表す。ふだんの計算では小さな誤差で済んでも、近い値どうしを引くと、正しかった上の桁が消えて、誤差を含んだ下の桁だけが結果に残る。科学技術計算で答えが大きく狂う原因になったため、誤差の種類として名前を付け、避け方を考えるようになった。

具体例

有効数字 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 と近い値の引き算をせずに正しく求まる。

試験での引っ掛け

情報落ちとの取り違えが最頻出。桁落ちは「近い値どうしの引き算」で有効桁が減る、情報落ちは「大きさが極端に違う値の足し算・引き算」で小さい方が消える。丸め誤差(表しきれない下の桁を四捨五入・切り上げ・切り捨てしたことによる誤差)、打切り誤差(無限に続く計算を途中で打ち切ったことによる誤差)、オーバーフロー(扱える最大値を超える)とも原因が違う。避け方も違い、桁落ちは式を変形して近い値の引き算をしないようにする。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 1問の解説で触れられる
  • 分野:テクノロジ系
  • 情報落ちとの取り違えが最頻出。