Is there any differences between Math.IEEERemainder(x,y) and x%y ?
See Question&Answers more detail:osIs there any differences between Math.IEEERemainder(x,y) and x%y ?
See Question&Answers more detail:osNo, they are not equivalent. MSDN shows the different formulas used for modulo and for IEEERemainder and has a short sample program exhibiting the differences:
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)
Some examples where they have different/identical output (taken from 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
See also this good answer by sixlettervariables on a similar question.