C# Math class

c#_math_class

What is math class?

C# math provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions. The Math library in C# gives programmers access to a number of general, trigonometric, statistical, and logarithmic mathematical functions and properties. This library is plug-and-play and ready to use. The library derives from Csuper #’s parent class, the Object class. The System namespace is where it sits.

Mathematical  properties in C#

E4

In mathematical equations, the little letter “e” designates the logarithmic base, which is known as E. The value of the natural logarithmic base is stored in this static attribute.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       Console.WriteLine("The value of logarithmic base E is " + Math.E);
     }
  }

Output:

math_class_1

PI

The reciprocal of the ratio of a circle’s circumference to its diameter is known as pi, which is often written as the letter p. (roughly 3.14). The value of p is contained in this static constant.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       Console.WriteLine("The value of PI is " + Math.PI);
     }
  }

Output:

math_class_2

Functions on C# Math

Abs-Absolute Function

Returns a given number’s absolute value (integer, decimal, floating-point, etc.). The highest conceivable decimal value that is higher than or equal to 0 but less than or equal to the number itself is the absolute value of any number.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       int num1 = 231;
       double num2 = -1.23456789;
       Console.WriteLine("The absolute value of {0} is {1} ", num1, Math.Abs(num1));
       Console.WriteLine("The absolute value of {0} is {1} ", num2, Math.Abs(num2));
     }
  }

Output:

math_class_3

BigMul-Big Multiplication

This function delivers the entire result of multiplying two extremely large integer numbers. It requires two 32-bit integer inputs and outputs a 64-bit result of the multiplication.
Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       int num1 = Int32.MaxValue;
       Console.WriteLine("Multiplication of {0}x{0} without Math function - {1}",num1, num1*num1);
       Console.WriteLine("Multiplication of {0}x{0} by Math BigMul function - {1}",num1, Math.BigMul(num1, num1));
     }
  }

Output:

math_class_4

Floor and Ceiling

The floor() and ceiling() functions provide back a number’s floor and ceiling values. Any number’s floor value is its greatest integer that is less than or equal to 1. The smallest integer larger than or equal to the given number is the ceiling value of any number.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       double num1 = 548.65;
       Console.WriteLine("Floor value of {0} is {1}", num1, Math.Floor(num1));
       Console.WriteLine("Ceil value of {0} is {1}", num1, Math.Ceiling(num1));
     }
  }

Output:

math_class_5

Sin, Cos and Tan

The sine, cosine, and tangent values of the supplied angle are provided by these trigonometric functions.

Code example:

 

 using System;
 public class Program
  {
    public static void Main()
     {
       double angle = 120.5;
       Console.WriteLine("Sine value of {0} is {1}", angle, Math.Sin(angle));
       Console.WriteLine("Cosine value of {0} is {1}", angle,Math.Cos(angle));
       Console.WriteLine("Tangent value of {0} is {1}", angle, Math.Tan(angle));
     }
  }

Output:

math_class_6

Tanh–Hyperbole, Cosh and Sinh

The hyperbolic sine, cosine, and tangent values of the specified angle are provided by these trigonometric functions.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       double angle = 120.5;
       Console.WriteLine("Hyperbolic Sine value of {0} is {1}", angle, Math.Sinh(angle));
       Console.WriteLine("Hyperbolic Cosine value of {0} is {1}", angle, Math.Cosh(angle));
       Console.WriteLine("Hyperbolic Tangent value of {0} is {1}", angle,Math.Tanh(angle));
     }
  }

Output:

math_class_7

Atan, Acos and Asin

The angles to which the supplied number is the sine, cosine, or tangent value are returned by these trigonometric functions.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       double value = 1;
       Console.WriteLine("The angle of sin({0}) is {1}", value, Math.Asin(value));
       Console.WriteLine("The angle of cos({0}) is {1}", value, Math.Acos(value));
       Console.WriteLine("The angle of tan({0}) is {1}", value, Math.Atan(value));
      }
  }

Output:

math_class_8

Remainder and DivRem–Division

This function figures out the outcome of dividing two numbers. A fractional value is not included in the returned result. Instead, the function’s return value is the quotient, and the remaining value is returned as an output parameter.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       int divisor = 8;
       int dividend = 45;
       int remainder = 0;
       int quotient = Math.DivRem(dividend, divisor, out remainder);
       Console.WriteLine("{0} divided by {1} results in {2} as the quotient and {3} as the remainder.", dividend, divisor, quotient, remainder);
     }
  }

Output:

math_class_9

Log, Log2, & Log10-Logarithm

The log function returns the base-specific logarithm of a given number. The natural logarithm is produced if no base is supplied; the default base is e.

Note that Log2 was made available in .Net Core. the .Net Framework does not have this technique.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       double num1 = 4.5;
       int new_base = 12;
       Console.WriteLine("Log({0}) to the base 'e' is {1}.", num1, Math.Log(num1));
       Console.WriteLine("Log({0}) to the base 10 is {1}.", num1,Math.Log10(num1));
       Console.WriteLine("Log({0}) to the base 2 is {1}.", num1,Math.Log(num1, 2));
       Console.WriteLine("Log({0}) to the base {1} is {2}.", num1,new_base, Math.Log(num1, new_base));
     }
  }

Output:

math_class_10

Round

The round() function rounds a provided number to the nearest integer or to a specified number of decimal places after the integer, as the name implies.

There are several significant modifications to the round() function. Either two or three arguments are required.

  • The amount to be rounded is the first input.
  • The amount of digits following the decimal point is the second input. The number is rounded to the nearest integer if this is not given.
  • The mode of rounding is the third argument. This is a list of two values that were taken from the enumeration MidpointRounding.

There are two modes:

  • AwayFromZero: A number is rounded to the next number that is farther from zero when it is midway between two numbers.
  • ToEven: A number is rounded to the next even number when it is exactly halfway between two numbers.

The mode AwayFromZero is the default mode if it is not provided.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       double num1 = 2.45;
       double num2 = 24.5;
       Console.WriteLine("{0} rounded to the nearest integer is {1}", num1, Math.Round(num1));
       Console.WriteLine("{0} rounded to the nearest single-point decimal is {1}", num1, Math.Round(num1, 1));
       Console.WriteLine("{0} rounded to the nearest single-point decimal away from zero is {1}", num1, Math.Round(num1, 1, MidpointRounding.AwayFromZero));
       Console.WriteLine("{0} rounded to the nearest single-point decimal to even is {1}", num1, Math.Round(num1, 1, MidpointRounding.ToEven));
       Console.WriteLine("\n{0} rounded to the nearest integer away from zero is {1}", num2, Math.Round(num2, MidpointRounding.AwayFromZero));
       Console.WriteLine("{0} rounded to the nearest integer to even is {1}", num2, Math.Round(num2, MidpointRounding.ToEven));
     }
  }

Output:

math_class_11

Min & Max

These operations compare the two supplied numbers and output the smaller or greater of the two.

Code example:

 using System;
 public class Program
  {
    public static void Main()
     {
       double num1 = 4.5;
       double num2 = -3.4;
       int num3 = 981;
       int num4 = 123;
       Console.WriteLine("Minimum of {0} and {1} is {2}.", num1, num2,Math.Min(num1, num2));
       Console.WriteLine("Maximum of {0} and {1} is {2}.", num1, num2,Math.Max(num1, num2));
       Console.WriteLine("Minimum of {0} and {1} is {2}.", num3, num4,Math.Min(num3, num4));
       Console.WriteLine("Maximum of {0} and {1} is {2}.", num3, num4,Math.Max(num3, num4));
     }
  }

Output:

math_class_12