下位桁あふれ
表現しきれなくなったよ
小さく(0に近く)なり過ぎたよ
計算結果が「0.000……1」みたいな数になったときに発生するよ
簡単に書くよ
下位桁あふれ(読:カイケタアフレ 英:underflow)とは
「アンダーフロー」のこと。
用語の中身としては
計算結果が「0.000……1」のように小さくなり過ぎて(0に近づきすぎて)コンピュータさんが表現できなくなった状態のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「アンダーフロー」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
アンダーフローは計算結果が「0.000……1」や「-0.000……1」のような非常に小さい(0に近い)小数になっちゃってコンピュータさんが表現できなくなった状態です。
アンダーフローについて調べていると「浮動小数点」という単語が出てくるはずです。
浮動小数点は「数字を仮数、基数、指数の要素で表現すること」です。
あるいは「仮数部と指数部のみを記憶しておく やり方」です。
例えば、ここに
123.45
という数字が あったとしましょう。
これを
12345×10^-2
のように
X × Y ^ Z(XかけるYのZ乗)
形式で表現します。
Xに相当する部分は「仮数」と言います。
Yに相当する部分は「基数」です。
Zに相当する部分は「指数」になります。
そして、仮数部と指数部のみをコンピュータに覚えさせます。
123.45
であれば
12345×10^-2
と解釈して
「12345」と「-2」を覚えておけ。答えるときは「12345」×10^「-2」の計算結果を教えろ
と指示するのです。
これでパソコンさんは「123.45」を覚えられました。
正確には「123.45」を覚えているわけでは ありませんけどね。
覚えているのは仮数部の「12345」と指数部の「-2」です。
ただし、この数字を扱うときには
【仮数】 × 10 ^ 【指数】(【仮数】かける10の【指数】乗)
の計算をしてから扱います。
ですから、実質的に「123.45」を覚えているのと同じです。
細かい理屈はすっ飛ばしますが、浮動小数点で「0.000……1」のような非常に小さい(0に近い)小数を表現しようとすると「えらいこっちゃ!(--;」になります。
その結果、コンピュータさんが「あー、ゴメン。これは表現しきれないっすわq(--)p」となったのがアンダーフローです。
以上を踏まえて
アンダーフローの日本語呼び
が「下位桁あふれ」です。
個人的には「アンダーフロー」の方が馴染みがある表現ですけどね。
気が向いたら両方とも覚えてあげてください。
一言でまとめるよ
まぁ「下位桁あふれ」って単語が出てきたら「計算結果が小さく(0に近く)なり過ぎて表現できなくなった状態なんだな~」と お考えください。






