多くの自然な算術特性が成り立たないため、浮動小数点数は注意が必要です。
それにもかかわらず、この特定のプロパティが保持されると思いますが、検出が困難なエラーに見舞われるよりも、質問することを好みます。
d
が 型の任意の変数であると仮定しますdouble
。次の操作の後、次のようになります。
d *= 0;
次のチェックは常にtrue
?を返します。
d == 0
d
が正/負の無限大や NaN の場合は成立しないと思います。ただし、他に注意する必要がある問題はありますか?
+0
浮動小数点には、実際にはとの 2 つのゼロがあると聞きました-0
。d
最初に負の場合、代わりにd *= 0
戻り-0
ますか? もしそうなら、それはに等しくなり0
ますか?- 浮動小数点演算が不正確になると聞きました。したがって、を掛ける
0
と、代わりに0.0000001
またはのようなものが返される可能性は-0.000001
あり0
ますか? 私の推測では、これは不可能である可能性が高いですが、この推測を裏付ける十分な知識がないので、質問したいと思います。 - 私が予測していなかった他の問題はありますか?