IEEE754の分布について

 積年の謎が氷解した日。


IEEE754で表現される浮動小数の数値の分布はどうなっているのか。
表現可能な数値間の距離はそもそも一定なのか?一定じゃないのか?
感覚としては0を中心として数直線の両側にいくにつれてスカスカになりそうだけど…
一定じゃないなら、どんな感じになってるんだろうか?


結論を言うと、全く一定じゃなく、感覚が正解。


大学の授業でIEEE754は扱ったのだけど、その辺まで詳しい話は出てこなかった。


どうも大学で情報系を専攻している人たちはその辺まで突っ込んできちんと授業を受けているみたいですね。
というのも、「プログラマが知るべき97のこと」というオライリー本で計算誤差の説明のついで?に、
隣接する数値間の距離について言及されていました。


 で、さらに色々とググったら、こんなのとか、こんなのとか出てきた。素晴らしい。分かりやすい。
特に前者は数直線での数値の密度の模式図まである。


 そうなると次に気になるのは、そんなんで不都合ないのかということ。
もちろん丸めの誤差が、累乗の数字が大きくなるにつれてどんどん大きくなっていくというのは既に分かりやすい問題だけど。


 ううん、この辺の話は楽しいなぁ。なんだかわくわくする。情報科学科の方々は幸せだ。