0

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

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

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

d *= 0;

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

d == 0

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

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

1 に答える 1