[#42503] floatの値がずれる — Sato Hiroshi <hirocy.f01@...>

hirocyと申します.

33 messages 2006/07/04
[#42504] Re: floatの値がずれる — rubikitch <rubikitch@...> 2006/07/04

From: Sato Hiroshi <hirocy.f01@plala.to>

[#42505] Re: floatの値がずれる — Sato Hiroshi <hirocy.f01@...> 2006/07/04

hirocyです.るびきちさん,ありがとうございます.

[#42569] JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...>

こんばんは。

19 messages 2006/07/11
[#42570] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[#42572] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...> 2006/07/11

In message <1152619872.835566.21152.nullmailer@x31.priv.netlab.jp>

[#42575] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[ruby-list:42521] Re: floatの値がずれる

From: KIMURA Koichi <kimura.koichi@...>
Date: 2006-07-05 05:47:22 UTC
List: ruby-list #42521
木村です。

On Wed, 5 Jul 2006 14:22:03 +0900
Tadashi Saito <shiba@mail2.accsnet.ne.jp> wrote:

> > または、固定小数点数ライブラリ(BigDecimal)を使ってみましょう。
> 
> 完全にちゃちゃですが、誤差が発生しない⇒固定小数点数っていうのは
> 誤解だと思います。


| BigDecimal は <浮動小数点数> = 0.xxxxxxxxx*10**n という10進形式で数値を
| 保持します。しかし、計算機の浮動小数点数の内部表現は、言うまでもなく 
| <浮動小数点数> = 0.bbbbbbbb*2**n という 2進形式が普通です(x は 0 から
| 9 まで、b は 0 か 1 の数字)。 

ということなので、二進←→十進変換がないので(変換に起因する)誤差がないと
いうところでしょうね。


> http://ja.wikipedia.org/wiki/%E5%9B%BA%E5%AE%9A%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
> > 固定小数点数では整数部分に用いるビット数と小数部分に用いるビット数をあらかじめ
> > 固定して表現する。
> 
> BigDecimalにこのような部分は見当たらないと思うのですが。

固定小数点云々については

| BigDecimal は可変長浮動小数点計算機能ライブラリです。

頭でこう云いきってますね。


####

BigDecimalに関する記述は

 http://www.ruby-lang.org/ja/man/?cmd=view;name=BigDecimal#a2.bf.ca.a4.c810.bf.ca

から引用しました。

-- 
木村浩一


In This Thread