Export (0) Print
Expand All

BigInteger.Log Method (BigInteger)

Returns the natural (base e) logarithm of a specified number.

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

Public Shared Function Log ( _
	value As BigInteger _
) As Double


Type: System.Numerics.BigInteger

The number whose logarithm is to be found.

Return Value

Type: System.Double
The natural (base e) logarithm of value, as shown in the table in the Remarks section.


The natural log of value is out of range of the Double data type.

The value parameter is specified as a base 10 number.

The precise return value of this method depends on the sign of value, as the following table shows.

Sign of value parameter

Return value


The natural logarithm of value; that is, ln value, or log e value.





To calculate the base 10 logarithm of a BigInteger value, call the Log10 method. To calculate the logarithm of a number in another base, call the Log(BigInteger, Double) method.

You can find the square root of a number by calling the Log method along with the Math.Exp method. Note that the result is Double.PositiveInfinity if the result is greater than Double.MaxValue. The following example calculates the square root of each element in an array of BigInteger values.

Imports System.Numerics

Module Example
   Public Sub Main()
      Dim values() As BigInteger = { 2, 100, BigInteger.Pow(1000, 100), 
                                     BigInteger.Pow(2, 64) }
      For Each value In values                                    
         Console.WriteLine("The square root of {0} is {1}", value, 
                           Math.Exp(BigInteger.Log(value) / 2))
   End Sub 
End Module 
' The example displays the following output: 
'    The square root of 2 is 1.41421356237309 
'    The square root of 100 is 10 
'    The square root of 1000000000000000000000000000000000000000000000000000000000000 
'    00000000000000000000000000000000000000000000000000000000000000000000000000000000 
'    00000000000000000000000000000000000000000000000000000000000000000000000000000000 
'    00000000000000000000000000000000000000000000000000000000000000000000000000000000 
'     is 9.99999999999988E+149 
'    The square root of 18446744073709551616 is 4294967296

This method corresponds to the Math.Log(Double) method for the primitive numeric types.

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Windows Phone 8.1, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

© 2014 Microsoft