C# | Math.Log() Method

In C#, Math.Log() is a Math class method. It is used to return the logarithm of a specified number. This method can be overloaded by changing the number of the arguments passed. There are total 2 methods in the overload list of the Math.Log() method as follows:

  • Math.Log(Double) Method
  • Math.Log(Double, Double) Method
Math.Log(Double) Method

This method is used to return the natural (base e) logarithm of a specified number.

Syntax:

public static double Log(double val)

Parameter:



val: It is the specified number whose natural (base e) logarithm to be calculated and its type is System.Double.

Return Value: Returns the natural logarithm of val and its type is System.Double.

Note: Parameter val is always specified as a base 10 number.The return value is depend on the argument passed. Below are some cases:

  • If the argument is positive then method will return the natural logarithm or loge(val).
  • If the argument is zero, then the result is NegativeInfinity.
  • If the argument is Negative(less than zero) or equal to NaN, then the result is NaN.
  • If the argument is PositiveInfinity, then the result is PositiveInfinity.
  • If the argument is NegativeInfinity, then the result is NaN.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate working
// of Math.Log(Double) method
using System;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // double values whose logarithm 
        // to be calculated
        double a = 4.55;
        double b = 0;
        double c = -2.45;
        double nan = Double.NaN;
        double positiveInfinity = Double.PositiveInfinity;       
        double negativeInfinity = Double.NegativeInfinity;
  
        // Input is positive number so output
        // will be logarithm of number
        Console.WriteLine(Math.Log(a));
  
        // positive zero as argument, so output 
        // will be -Infinity
        Console.WriteLine(Math.Log(b));
  
        // Input is negative number so output
        // will be NaN
        Console.WriteLine(Math.Log(c));
  
        // Input is NaN so output
        // will be NaN
        Console.WriteLine(Math.Log(nan));
  
        // Input is PositiveInfinity so output
        // will be Infinity
        Console.WriteLine(Math.Log(positiveInfinity));
  
        // Input is NegativeInfinity so output
        // will be NaN
        Console.WriteLine(Math.Log(negativeInfinity));
    }
}

chevron_right


Output:

1.51512723296286
-Infinity
NaN
NaN
Infinity
NaN
Math.Log(Double, Double) Method

This method is used to return the logarithm of a specified number in a specified base.

Syntax:

public static double Log(double val, double base)

Parameter:

val: It is the specified number whose logarithm to be calculated and its type is System.Double.

base: It is the base of the logarithm of type System.Double.



Return Value: It returns the logarithm of val and its type is System.Double.

Note: The return value is always depend on the argument passed. Below table depicts the different cases:

val base Returned Value
val > 0 (0 < Base < 1) or(Base > 1) logbase(val)
val < 0 any value NaN
any value base < 0 NaN
val != 1 base = 0 NaN
val != 1 base = +ve Infinity NaN
val = NaN any value NaN
any value base = NaN NaN
any value base = 1 NaN
val = 0 (0 < Base < 1) +ve Infinity
val = 0 base > 1 -ve Infinity
val = +ve Infinity (0 < Base < 1) -ve Infinity
val = +ve Infinity base > 1 +ve Infinity
val = 1 base = 0 0
val = 1 base = +ve Infinity 0

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate working
// of Math.Log(Double, Double) method
using System;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Here val = 1.3 and base is 0.3 then 
        // output will be logarithm of given value
        Console.WriteLine(Math.Log(1.3, 0.3));
          
        // Here val is 0.5 and base > 1 then output 
        // will be -0.5
        Console.WriteLine(Math.Log(0.5, 4));
  
        // Here val is 0.7 and base = 1 then output 
        // will be NaN
        Console.WriteLine(Math.Log(0.7, 1));
  
        // Here val is 0.7 and base is NaN then output 
        // will be NaN
        Console.WriteLine(Math.Log(0.7, Double.NaN));
    }
}

chevron_right


Output:

-0.217915440884381
-0.5
NaN
NaN



References:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.