# C# | Math.IEEERemainder() Method

• Last Updated : 07 Sep, 2021

In C#, IEEERemainder() is a Math class method which is used to return the remainder resulting from the division of a specified number by another specified number.

Syntax:

`public static double IEEERemainder (double a, double b);`

Parameters:

a: It is the dividend of type System.Double.
b: It is the divisor of type System.Double

Return Type: This method returns a number equal to a – (b Q), where Q is the quotient of a / b rounded to the nearest integer of type System.Double.

Note:

• If a / b falls halfway between two integers, the even integer is returned.
• If a – (b Q) is zero, the value Positive Zero is returned if a is positive, or Negative Zero if a is negative.
• If b = 0, NaN is returned.

Difference Between IEEERemainder and Remainder Operator: Both are used to returns the remainder after division but the formulas they use are different. The formula for the IEEERemainder method is:

`IEEERemainder = dividend - (divisor * Math.Round(dividend / divisor))`

And the formula for the remainder operator is:

```Remainder = (Math.Abs(dividend) - (Math.Abs(divisor) *
(Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) *
Math.Sign(dividend)```

Example:

## C#

 `// C# Program to illustrate the``// Math.IEEERemainder() Method``using` `System;` `class` `Geeks``{``    ` `   ``// method to calculate the remainder``   ``private` `static` `void` `DisplayRemainder(``double` `num1, ``double` `num2)``   ``{``       ` `      ``var` `calculation = \$``"{num1} / {num2} = "``;``      ` `      ``// calculating IEEE Remainder``      ``var` `ieeerem = Math.IEEERemainder(num1, num2);``      ` `      ``// using remainder operator``      ``var` `rem_op = num1 % num2;``      ` `      ``Console.WriteLine(\$``"{calculation,-16} {ieeerem,18} {rem_op,20}"``);``   ``}``   ` `   ` `   ` `   ``// Main Method``   ``public` `static` `void` `Main()``   ``{``       ` `      ``Console.WriteLine(\$``"{"``IEEERemainder``",35} {"``Remainder Operator``",20}"``);``      ` `      ``// calling the method``      ``DisplayRemainder(0, 1);``      ``DisplayRemainder(-4, 8);``      ``DisplayRemainder(1, 0);``      ``DisplayRemainder(-1, -0);``      ``DisplayRemainder(145, 7);``      ``DisplayRemainder(18.52, 2);``      ``DisplayRemainder(42.26, 4.2);``   ``}``}`

Output:

```                      IEEERemainder   Remainder Operator
0 / 1 =                           0                    0
-4 / 8 =                         -4                   -4
1 / 0 =                         NaN                  NaN
-1 / 0 =                        NaN                  NaN
145 / 7 =                        -2                    5
18.52 / 2 =                    0.52                 0.52
42.26 / 4.2 =     0.259999999999998    0.259999999999996```

My Personal Notes arrow_drop_up