Log Method (Double, Double)
Collapse the table of content
Expand the table of content

Math.Log Method (Double, Double)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Returns the logarithm of a specified number in a specified base.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static double Log(
	double a,
	double newBase
)

Parameters

a
Type: System.Double
A number whose logarithm is to be found.
newBase
Type: System.Double
The base of the logarithm.

Return Value

Type: System.Double
One of the values in the following table. (+Infinity denotes PositiveInfinity, -Infinity denotes NegativeInfinity, and NaN denotes NaN.)

a

newBase

Return Value

a> 0

(0 <newBase< 1) -or-(newBase> 1)

lognewBase(a)

a< 0

(any value)

NaN

(any value)

newBase< 0

NaN

a != 1

newBase = 0

NaN

a != 1

newBase = +Infinity

NaN

a = NaN

(any value)

NaN

(any value)

newBase = NaN

NaN

(any value)

newBase = 1

NaN

a = 0

0 <newBase< 1

+Infinity

a = 0

newBase> 1

-Infinity

a = +Infinity

0 <newBase< 1

-Infinity

a = +Infinity

newBase> 1

+Infinity

a = 1

newBase = 0

0

a = 1

newBase = +Infinity

0

The following example uses Log to evaluate certain logarithmic identities for selected values.


// Example for the Math.Log( double ) and Math.Log( double, double ) methods.
using System;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text +=
          "This example of Math.Log( double ) and " +
          "Math.Log( double, double )\n" +
          "generates the following output.\n" + "\n";
      outputBlock.Text +=
          "Evaluate these identities with " +
          "selected values for X and B (base):" + "\n";
      outputBlock.Text += "   log(B)[X] == 1 / log(X)[B]" + "\n";
      outputBlock.Text += "   log(B)[X] == ln[X] / ln[B]" + "\n";
      outputBlock.Text += "   log(B)[X] == log(B)[e] * ln[X]" + "\n";

      UseBaseAndArg(outputBlock, 0.1, 1.2);
      UseBaseAndArg(outputBlock, 1.2, 4.9);
      UseBaseAndArg(outputBlock, 4.9, 9.9);
      UseBaseAndArg(outputBlock, 9.9, 0.1);
   }

   // Evaluate logarithmic identities that are functions of two arguments.
   static void UseBaseAndArg(System.Windows.Controls.TextBlock outputBlock, double argB, double argX)
   {
      // Evaluate log(B)[X] == 1 / log(X)[B].
      outputBlock.Text += String.Format(
          "\n                   Math.Log({1}, {0}) == {2:E16}" +
          "\n             1.0 / Math.Log({0}, {1}) == {3:E16}",
          argB, argX, Math.Log(argX, argB),
          1.0 / Math.Log(argB, argX)) + "\n";

      // Evaluate log(B)[X] == ln[X] / ln[B].
      outputBlock.Text += String.Format(
          "        Math.Log({1}) / Math.Log({0}) == {2:E16}",
          argB, argX, Math.Log(argX) / Math.Log(argB)) + "\n";

      // Evaluate log(B)[X] == log(B)[e] * ln[X].
      outputBlock.Text += String.Format(
          "Math.Log(Math.E, {0}) * Math.Log({1}) == {2:E16}",
          argB, argX, Math.Log(Math.E, argB) * Math.Log(argX)) + "\n";
   }
}

/*
This example of Math.Log( double ) and Math.Log( double, double )
generates the following output.

Evaluate these identities with selected values for X and B (base):
   log(B)[X] == 1 / log(X)[B]
   log(B)[X] == ln[X] / ln[B]
   log(B)[X] == log(B)[e] * ln[X]

                   Math.Log(1.2, 0.1) == -7.9181246047624818E-002
             1.0 / Math.Log(0.1, 1.2) == -7.9181246047624818E-002
        Math.Log(1.2) / Math.Log(0.1) == -7.9181246047624818E-002
Math.Log(Math.E, 0.1) * Math.Log(1.2) == -7.9181246047624804E-002

                   Math.Log(4.9, 1.2) == 8.7166610085093179E+000
             1.0 / Math.Log(1.2, 4.9) == 8.7166610085093161E+000
        Math.Log(4.9) / Math.Log(1.2) == 8.7166610085093179E+000
Math.Log(Math.E, 1.2) * Math.Log(4.9) == 8.7166610085093179E+000

                   Math.Log(9.9, 4.9) == 1.4425396251981288E+000
             1.0 / Math.Log(4.9, 9.9) == 1.4425396251981288E+000
        Math.Log(9.9) / Math.Log(4.9) == 1.4425396251981288E+000
Math.Log(Math.E, 4.9) * Math.Log(9.9) == 1.4425396251981288E+000

                   Math.Log(0.1, 9.9) == -1.0043839404494075E+000
             1.0 / Math.Log(9.9, 0.1) == -1.0043839404494075E+000
        Math.Log(0.1) / Math.Log(9.9) == -1.0043839404494075E+000
Math.Log(Math.E, 9.9) * Math.Log(0.1) == -1.0043839404494077E+000
*/


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft