3

J言語を発見したばかりで、次のように入力しました。

1+^o.*0j1

答えはと思っていたのですが、わかりまし00j1.22465e_16。これは0に非常に近いですが、Jが任意精度の演算を実行できるはずなのに、なぜ答えに数値誤差があるのでしょうか。どうすれば正しい答えを得ることができます0か?

4

1 に答える 1

4

任意精度は整数と有理数用です。

定数 π1p1)とe1x1)は、約17桁の10進数の精度を持つ浮動小数点数のままです。

正確に0を生成する唯一の方法は、コードがケースを「認識」している場合です。構成^@o.は、この場合の特別なコードです。

 ^@o. 0j1
_1
于 2013-02-28T15:07:20.247 に答える