# .net – Is Math.IEEERemainder(x,y) equivalent to x%y

.net

Is there any differences between Math.IEEERemainder(x,y) and x%y ?

#### Best Solution

No, 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
``````