問題タブ [floating-point-comparison]

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 投票する
1 に答える
67 参照

c# - 浮動小数点数に 0 を掛けると、常に 0 になりますか?

多くの自然な算術特性が成り立たないため、浮動小数点数は注意が必要です。

それにもかかわらず、この特定のプロパティが保持されると思いますが、検出が困難なエラーに見舞われるよりも、質問することを好みます。

dが 型の任意の変数であると仮定しますdouble。次の操作の後、次のようになります。

次のチェックは常にtrue?を返します。

dが正/負の無限大や NaN の場合は成立しないと思います。ただし、他に注意する必要がある問題はありますか?

  • +0浮動小数点には、実際にはとの 2 つのゼロがあると聞きました-0d最初に負の場合、代わりにd *= 0戻り-0ますか? もしそうなら、それはに等しくなり0ますか?
  • 浮動小数点演算が不正確になると聞きました。したがって、を掛ける0と、代わりに0.0000001またはのようなものが返される可能性は-0.000001あり0ますか? 私の推測では、これは不可能である可能性が高いですが、この推測を裏付ける十分な知識がないので、質問したいと思います。
  • 私が予測していなかった他の問題はありますか?
0 投票する
1 に答える
1082 参照

c++ - Catch2 で近似ゼロをチェックする標準的な方法は何ですか?

Catch2 で近似ゼロと比較する正規の方法は何ですか?

許容誤差が 1e-12 の場合にこの方法を見つけましたが、それが最善の方法であるかどうかは明らかではありません。

一般的にフロートを比較する方法を尋ねているわけではありません。私はそれが単純な問題ではないことを知っています。事前にわかっている特定の許容範囲を考慮して、Catch2 を使用する方法を尋ねています。

相対 (イプシロン) エラーはゼロ付近ではうまく動作しないため、以下は機能しませんでした。


その他の可能性(あまり良くない)(代替案は