問題タブ [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.
java - Java での浮動小数点の操作と比較
Java では、浮動小数点演算は正確に表現されません。たとえば、この Java コード:
「c は 3.6 ではありません」と表示されます。
小数点以下 3 桁 (#.###) を超える精度には興味がありません。フロートを乗算して確実に比較するために、この問題にどのように対処できますか?
c++ - C++ 浮動小数点の精度
重複の可能性:
浮動小数点の不正確な例
結果: 0.299999999999999889
結果: 15.000000000000014211
だから..「a」は本来よりも小さいです。しかし、'a' を 50 回使用すると、結果は本来よりも大きくなります。
どうしてこれなの?この場合、正しい結果を得るにはどうすればよいですか?
floating-point - なぜ 99.99 / 100 = 0.9998999999999999 なのか
重複の可能性:
浮動小数点数の精度の問題への対処
一方、99.99 * 0.01 = 0.99
明らかに、これは古くからある浮動小数点の丸めの問題ですが、この場合の丸め誤差はかなり大きいように思えます。つまり、結果が 0.99990000001 または同様の「近い」結果になると予想していた可能性があるということです。
記録として、JavaVM と .Net 環境で同じ答えを得ました。
delphi - 浮動小数点エラーの修正
String Math の代わりに通常の数学を使用して、Double の先頭の値 (ゼロ以外) を取得するコードがいくつかあります...
例:
0.020 は 2 を返します
3.12 は 3 を返します
1000は1 を返します
私が現時点で持っているコードは次のとおりです。
ただし、ResultValue が 1000 の場合、LeadingValue は 0 になります。
浮動小数点エラーが原因だと思われるこの問題を解決するにはどうすればよいですか?
ありがとう。
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
python - python浮動小数点数
この場合、Pythonが追加の10進数を追加する理由がちょっとわかりません。説明を手伝ってください
c - フロートを掛けられないのはなぜですか?
重複の可能性:
浮動小数点数の精度の問題への対処
なぜCでfloatを乗算しようとしたのか(GCC 3.2を使用)、期待どおりに実行されなかったのには非常に驚きました。サンプルとして:
ディスプレイ:31.099998
フロートの実装方法と、なぜこの予期しない動作が発生するのかについて興味があります。
c++ - /fp:fast での奇妙な結果
次のようなコードがあります。
残念ながら、 flag を使用すると、/fp:fast
明らかcalc_something(0)==1
に間違ったコード パスを使用していることになります。これは、コード内の複数のポイントで異なるパラメーターを使用してメソッドを使用する場合にのみ発生するため、コンパイラ (Microsoft Visual Studio 2008、SP1) からの怪しい最適化が行われていると思います。
また、インターフェースを次のように変更すると、上記の問題はなくなります。
しかし、なぜこれが奇妙な動作を修正するのかわかりません。誰でもこの動作を説明できますか? 何が起こっているのか理解できない場合は、/fp:fast
スイッチを削除する必要がありますが、これによりアプリケーションがかなり遅くなります。
c - double を整数で割る
を で割っているときに問題に直面double
していint
ます。コード スニペットは次のとおりです。
res の値は0.10000000000000001
ではなく です0.10
。
誰かがこれの理由を知っていますか? cc を使用してコードをコンパイルしています。
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ライブラリを呼び出すことをお勧めしますか?