Open In App

C# | Math.IEEERemainder() Method

Last Updated : 07 Sep, 2021
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

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

Reference: https://docs.microsoft.com/en-us/dotnet/api/system.math.ieeeremainder?view=netframework-4.7.2


Next Article
Article Tags :
Practice Tags :

Similar Reads