問題タブ [floating-accuracy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
28427 参照

java - Java での浮動小数点の操作と比較

Java では、浮動小数点演算は正確に表現されません。たとえば、この Java コード:

「c は 3.6 ではありません」と表示されます。

小数点以下 3 桁 (#.###) を超える精度には興味がありません。フロートを乗算して確実に比較するために、この問題にどのように対処できますか?

0 投票する
5 に答える
53908 参照

c++ - C++ 浮動小数点の精度

重複の可能性:
浮動小数点の不正確な例

結果: 0.299999999999999889

結果: 15.000000000000014211

だから..「a」は本来よりも小さいです。しかし、'a' を 50 回使用すると、結果は本来よりも大きくなります。

どうしてこれなの?この場合、正しい結果を得るにはどうすればよいですか?

0 投票する
2 に答える
1492 参照

floating-point - なぜ 99.99 / 100 = 0.9998999999999999 なのか

重複の可能性:
浮動小数点数の精度の問題への対処

一方、99.99 * 0.01 = 0.99

明らかに、これは古くからある浮動小数点の丸めの問題ですが、この場合の丸め誤差はかなり大きいように思えます。つまり、結果が 0.99990000001 または同様の「近い」結果になると予想していた可能性があるということです。

記録として、JavaVM と .Net 環境で同じ答えを得ました。

0 投票する
4 に答える
1909 参照

delphi - 浮動小数点エラーの修正

String Math の代わりに通常の数学を使用して、Double の先頭の値 (ゼロ以外) を取得するコードがいくつかあります...

例:
0.020 は 2 を返します
3.12 は 3 を返します
10001 を返します

私が現時点で持っているコードは次のとおりです。

ただし、ResultValue が 1000 の場合、LeadingValue は 0 になります。

浮動小数点エラーが原因だと思われるこの問題を解決するにはどうすればよいですか?

ありがとう。

0 投票する
6 に答える
528 参照

php - 0.699 x 100 = 69.89999999999999?

重複の可能性:
なぜ99.99 / 100=0.9998999999999999
浮動小数点数の精度の問題に対処するのか

私はこの問題をphpとjavascriptで見ました。私はこの番号を持っています:float 0.699

これを行う場合:0.699 x 100 = 69.89999999999999

なぜ?

編集

round(0.699 x 10, 2):フロート69.90000000000001

0 投票する
4 に答える
10177 参照

python - python浮動小数点数

この場合、Pythonが追加の10進数を追加する理由がちょっとわかりません。説明を手伝ってください

0 投票する
6 に答える
16726 参照

c - フロートを掛けられないのはなぜですか?

重複の可能性:
浮動小数点数の精度の問題への対処

なぜCでfloatを乗算しようとしたのか(GCC 3.2を使用)、期待どおりに実行されなかったのには非常に驚きました。サンプルとして:

ディスプレイ:31.099998

フロートの実装方法と、なぜこの予期しない動作が発生するのかについて興味があります。

0 投票する
5 に答える
982 参照

c++ - /fp:fast での奇妙な結果

次のようなコードがあります。

残念ながら、 flag を使用すると、/fp:fast明らかcalc_something(0)==1に間違ったコード パスを使用していることになります。これは、コード内の複数のポイントで異なるパラメーターを使用してメソッドを使用する場合にのみ発生するため、コンパイラ (Microsoft Visual Studio 2008、SP1) からの怪しい最適化が行われていると思います。

また、インターフェースを次のように変更すると、上記の問題はなくなります。

しかし、なぜこれが奇妙な動作を修正するのかわかりません。誰でもこの動作を説明できますか? 何が起こっているのか理解できない場合は、/fp:fastスイッチを削除する必要がありますが、これによりアプリケーションがかなり遅くなります。

0 投票する
3 に答える
27826 参照

c - double を整数で割る

を で割っているときに問題に直面doubleしていintます。コード スニペットは次のとおりです。

res の値は0.10000000000000001ではなく です0.10

誰かがこれの理由を知っていますか? cc を使用してコードをコンパイルしています。

0 投票する
2 に答える
50914 参照

javascript - 大きな数(BigNum)を処理するためのJavaScriptの標準ソリューションは何ですか?

JavaScriptまたはビルトイン用のbignumライブラリがありますか?

私のユーザーは、実行可能ファイルをダウンロードして「この実行可能ファイルはコンピュータに害を及ぼす可能性があります」という警告画面をクリックしてインストールするよりも、Webページに数字を入力して結果が出るまで7秒待つことを好むと思います。

http://github.com/silentmatt/javascript-bigintegerまたはhttp://www.mainebrook.com/john/fun/euler.htmlをベースにすることを検討しました。または、JavaScriptからapfloatなどのJava bignumライブラリを呼び出すことをお勧めしますか?