[ruby-list:48790] Re: Q:Floatの範囲は何で決まるのでしょうか?
From:
"KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date:
2012-06-04 12:53:46 UTC
List:
ruby-list #48790
> RubyのFloatの範囲を知っておこうと思って、下記の手遊びを実行してみました。 > > (実行例ここから) > irb(main):024:0> 1e+308.class > => Float > irb(main):025:0> 1e+309.class > (irb):25: warning: Float 1e+309 out of range > => Float > (実行例ここまで) > > 気になったのは、Floatの範囲が何によってどのように決められているのかです。 > こんなに大きな数を扱う予定は、今のところありません。プラマイ50桁程度が扱えれば充分な計算をしています。 > しかし、Floatの範囲がもしかして環境依存していたりするのだったら、プアな環境で計算する時には注意しなくてはいけないな、と思った次第です。 > ご存じの方、教えていただければ幸いです。よろしくお願いします。 RubyのFloatは、crubyであれば、その裏側(?)にあるのは、C言語のdoubleです。 いまどきのたいていの環境であれば、仮数部52ビット、指数部11ビットの、 IEEE 754倍精度浮動小数点です。