Dir*_*mar 12
不,他们不等同.MSDN显示了用于模数和IEEERemainder的不同公式,并且有一个简短的示例程序,显示了差异:
IEEERemainder = dividend - (divisor * Math.Round(dividend / divisor))
Modulus = (Math.Abs(dividend) - (Math.Abs(divisor) *
(Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) *
Math.Sign(dividend)
Run Code Online (Sandbox Code Playgroud)
它们具有不同/相同输出的一些示例(取自MSDN):
IEEERemainder Modulus
3 / 2 = -1 1
4 / 2 = 0 0
10 / 3 = 1 1
11 / 3 = -1 2
27 / 4 = -1 3
28 / 5 = -2 3
17.8 / 4 = 1.8 1.8
17.8 / 4.1 = 1.4 1.4
-16.3 / 4.1 = 0.0999999999999979 -4
17.8 / -4.1 = 1.4 1.4
-17.8 / -4.1 = -1.4 -1.4
Run Code Online (Sandbox Code Playgroud)
在类似的问题上,通过sixlettervariables 也可以看到这个好的答案.
| 归档时间: |
|
| 查看次数: |
4226 次 |
| 最近记录: |