[#48251] require 'dbi' の警告について — 稲葉伸之 <nobuyuki.inaba@...>

いなばともうします。

22 messages 2011/08/03
[#48260] Re: require 'dbi' の警告について — Fumiaki Sakamoto <ua6ta6@...> 2011/08/05

坂元と申します。

[#48261] Re: require 'dbi' の警告について — 稲葉伸之 <nobuyuki.inaba@...> 2011/08/05

いろいろありがとうございます。

[#48264] Re: require 'dbi' の警告について — "Y. Nobuoka" <nobuoka@...> 2011/08/05

信岡です。

[#48330] 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。 — paptimusx <paptimusx@...>

1.25を %10.1f で出力したとき、表示に違いがでるのですが、何故でしょうか。

10 messages 2011/08/23
[#48332] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。 — paptimusx <paptimusx@...> 2011/08/23

2つポストしてしまったようですいません。

[ruby-list:48339] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。

From: "NARUSE, Yui" <naruse@...>
Date: 2011-08-24 07:20:09 UTC
List: ruby-list #48339
成瀬です。

2011年8月24日14:23 KISHIMOTO, Makoto <ksmakoto@dd.iij4u.or.jp>:
>> 10進で単純に考えると0.4になりそうです..
>> 単精度で銀行家丸めをしてみると(つまりRubyでない) 0.4になり、倍精度だと0.5になります。
>> 0.45はバイナリで正確に表現できないので、というような説明があるのですが、
>> 10進のまま考えてはいけないのでしょうか。
>
> コンピュータの浮動小数点とはそういうもの(普通、2進)だからです。
> ある意味で、期待した通りの「ちょうど5」のふるまいが起きるのは、たまたま
> 2進でちょうど表現できる時のみ、と考えていいでしょう(0.375とか)。

浮動小数点数とはそういうものなので、そういうものでは困る場合、
10進のまま考えたいという場合は BigDecimal 等を使ってください。

参考サイト:
* http://download.oracle.com/docs/cd/E19957-01/806-4847/ncg_goldberg.html
* http://wiki.github.com/rdp/ruby_tutorials_core/ruby-talk-faq#floats_imprecise
* http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread