[#43713] Re: 演算子の優先順位(was: Re: irb と python のバグ?) — "きむらこういち" <hogemuta@...>

木村です。

20 messages 2007/07/14
[#43715] Re: 演算子の優先順位(was: Re: irb — TunTun-m <tntn@...> 2007/07/14

bc では次式の結果は 0.81 ではなく 0.8 になります。

[ruby-list:43728] Re: 演算子の優先順位(was: Re: irb

From: IWAOKA Masahiro <iwaoka@...>
Date: 2007-07-16 06:35:53 UTC
List: ruby-list #43728
In the message <874pk4q4o8.fsf@fsij.org>,
  on Mon, Jul 16, 2007 at 02:49:21PM +0900, Tanaka Akira wrote:
> まぁ、0.9 * 0.9 ならそうですが、0.1 * 0.1 が 0 になるのは有
> 効桁の適切な扱いから外れているんじゃないかと思いますね。

あ、本当だ。不思議な仕様ですね。試してみると、dc も同じ。

理由は、小数点以下に並んだ 0 を有効桁として数えてしまっている点で、
通常の扱いと異ってしまってることですね。つまり、0.01 は通常では有
効桁 1 桁ですが、bc (dc) では 2 桁と考えるために、小数点以下 2 桁
目を切り捨てて 0 にしてしまってるようです。しかもどうやら常に切り
捨てのようで、ちょっと使い難そうです。

まあ、有効桁の大きい方に合わせるという点からしても、通常の扱いとは
異る仕様が多いですね。

いわおか

In This Thread