[#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:48336] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。

From: Kenta Murata <muraken@...>
Date: 2011-08-24 02:11:22 UTC
List: ruby-list #48336
 むらたです。  

http://www.exploringbinary.com/inconsistent-rounding-of-printed-floating-point-numbers/

このページに同様の実験とその結果が載ってますね。

On Tuesday, August 23, 2011 at 16:31 , paptimusx wrote:
> JIS丸めは
> e-1は 2(=偶数)なので e-2 が 5以下のときは切り捨て、6以上のときは切り上げになる。
> e-1が奇数の場合は普通の四捨五入になる。
> だと理解していたのですが、
> 端数が0.05より小さいなら切り捨て、端数が0.05より大きいならは切り上げ、
> 端数がちょうど0.05なら切り捨てと切り上げのうち結果が偶数となる方へ丸める。
> ということでした。

この丸め方は「最近接偶数への丸め」(round half to even) と呼びます。
ISO-31 で定められていて、その結果として JIS でも定められています。
簿記で良く使われているらしいのですが、そのためかどうか分かりませんが、
慣習的に「銀行家の丸め」(banker's rounding) とも呼ばれます。

この丸め方に対して "(=IEEE754)" と記載する事は正しくありません。
IEEE754 では以下の4つの丸めモードが規定されているためです。

- 最近接偶数への丸め
- 0への丸め
- 正の無限大への丸め
- 負の無限大への丸め

> MS系のコンパイラはJIS丸めをしていない。

メールの最初に提示した URL に書かれていますが、
Visual C++ のランタイムライブラリは、0から遠ざかる方向へ丸めるようです。


--  
Kenta Murata
Sent with Sparrow (http://www.sparrowmailapp.com)



In This Thread