3
-224 / -37.333333333333336 = 6
-224 % -37.333333333333336 = -37.33333333333332
(-224 / -37.333333333333336) % 1 = 0

最初の結果が の場合、%返されないのはなぜですか?06

そしてfloat、3 番目の計算で結果が a にならないのはなぜですか?

4

1 に答える 1

4

JavaScript の数値はすべて64 ビットの浮動小数点数です。数字が表示されないからといって、それが0.0double ではないという意味ではありません。

WolframAlphaによると:

-224 / -37.333333333333336 = 5.9999999999999995714285...

精度の制限/浮動小数点除算の丸めにより、JavaScript では除算の結果は 6 になります。

ただし、剰余演算では、-37.3… が -224 に 6 回収まらないことが正しくわかります。つまり、-37.33… の残りの 99.99…% は除算後の残りであり、モジュロ演算の結果に対応します。

したがって、ほとんどではありませんが、除数が返されます。

于 2013-08-21T17:52:29.010 に答える