浮動小数点数の精度を上げることは可能ですか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあ。計算を実行するときにJSLが使用する浮動小数点の精度を指定する方法はありますか?つまり、使用される有効桁数です。たとえば、私のコンピューターでは、1 から 1e-15 を引くと 0.999 になります... (15 個の「9」)。しかし、1 から 1e-16 を引いてみると、1 しか得られません。
x = 1;
y = 1e-15;
z = x - y;
表示 (z); //z = 0.999999999999999 (小数点以下 15 桁)
y = 1e-16;
z = x - y;
表示 (z); // z = 1
ありがとう。
Re: 浮動小数点数の精度を上げることはできますか?投稿した結果を得るために実行した完全なスクリプトを次に示します。
バツ= 1 ;
y = 1e-15 ;
ぜ=バツ- y ;
見せる(ぜ) ; //z = 0.999999999999999 (小数点以下 15 桁)
y = 1e-16 ;
ぜ=バツ- y ;
見せる(フォーマット(ぜ、 「固定12月」 、 30 、 20 ))) ;
11.21.1 でスクリプトを実行したところ、報告された結果が得られました。したがって、違いはバージョン 12.2 への変更です。
Re: 浮動小数点数の精度を上げることはできますか?こんにちは、ジムです。また、もう1つの重要な質問に気づきました。あなたの投稿では、問題 1 から 1e-16 を引いた結果が次のように示されました。
0.999999999999999 8 9000
(小数点第16位の「8」に注意)
これはタイプミスでしたか?
Re: 浮動小数点数の精度を上げることはできますか?ジム、
申し訳ありませんが、私のシステムでは動作しないようです。format コマンドを使用しましたが、答えは「1」のままでした。明らかに、あなたのシステムでは機能しますが、私のシステムでは機能しません。私の会社ではまだ JMP 11.2.1 を使用しています。ただし、私のコンピューターは1歳未満です。
質問: Format のドキュメントは少しわかりにくいです。
s = Format(x, formatstring, , , < <)
それに基づいて、コマンドの「20」は通貨コード フィールドを占有し、「30」は ndecimal フィールドを占有します。当然、私は後者を気にします。「20」の目的は何ですか?
Re: 浮動小数点数の精度を上げることはできますか?JMP は、標準のハードウェア浮動小数点サポートを使用します。IEEE 浮動小数点 - ウィキペディア、フリー百科事典
お気づきのとおり、有効数字は約 15 桁あります。
JMP は長い表現をサポートしていません。(現時点では、Big Int、Big Num ライブラリは JMP に含まれていません)
としてテクスネルソン数字を印刷するためのデフォルトのフォーマットでは、15桁すべてが表示されない場合があり、興味深い数字が表示される場合があることを指摘しています。
Re: 浮動小数点数の精度を上げることはできますか?表示されているのは、JMP がデフォルトのわかりやすい形式でデータを表示しようとしていることです。値を表示する形式を指定しても、値の精度は変わりません。したがって、「z」の値をより正確に表示するように指定すると、それが行われます。
Show(format(z, "固定 12 月", 30, 20)); = "0.99999999999999989000";