[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倍精度浮動小数点です。

In This Thread

Prev Next