BigInteger.Log Метод

Определение

Возвращает логарифм указанного числа.

Перегрузки

Имя Описание
Log(BigInteger)

Возвращает естественный (базовый e) логарифм указанного числа.

Log(BigInteger, Double)

Возвращает логарифм указанного числа в указанной базе.

Log(BigInteger)

Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs

Возвращает естественный (базовый e) логарифм указанного числа.

public:
 static double Log(System::Numerics::BigInteger value);
public static double Log(System.Numerics.BigInteger value);
static member Log : System.Numerics.BigInteger -> double
Public Shared Function Log (value As BigInteger) As Double

Параметры

value
BigInteger

Число, логарифм которого нужно найти.

Возвращаемое значение

Естественный (базовый e) логарифм value, как показано в таблице в разделе "Примечания".

Исключения

Естественный журнал value выходит за пределы диапазона Double типа данных.

Комментарии

Параметр value указывается в виде базового 10-го числа.

Точное возвращаемое значение этого метода зависит от знака value, как показано в следующей таблице.

value Знак параметра Возвращаемое значение
Положительный Естественный логарифм value; то есть ln valueили log evalue.
Ноль NegativeInfinity.
Отрицательный NaN.

Чтобы вычислить базовый 10 логарифм BigInteger значения, вызовите Log10 метод. Чтобы вычислить логарифм числа в другой базе, вызовите Log(BigInteger, Double) метод.

Квадратный корень числа можно найти, вызвав Log метод вместе с методом Math.Exp . Обратите внимание, что результат равен Double.PositiveInfinity значению Double.MaxValueрезультата. В следующем примере вычисляется квадратный корень каждого элемента в массиве значений BigInteger .

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      BigInteger[] values = { 2, 100, BigInteger.Pow(1000, 100), 
                              BigInteger.Pow(2, 64) };
      foreach (var value in values)                                    
         Console.WriteLine("The square root of {0} is {1}", value, 
                           Math.Exp(BigInteger.Log(value) / 2));
   }
}
// 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
open System
open System.Numerics

let values = [| 2I; 100I; BigInteger.Pow(1000I, 100); BigInteger.Pow(2I, 64) |]

for value in values do
    printfn $"The square root of {value} is {Math.Exp(BigInteger.Log(value) / 2.)}"
// 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
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))
      Next                                     
   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

Этот метод соответствует методу Math.Log(Double) для примитивных числовых типов.

См. также раздел

Применяется к

Log(BigInteger, Double)

Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs
Исходный код:
BigInteger.cs

Возвращает логарифм указанного числа в указанной базе.

public:
 static double Log(System::Numerics::BigInteger value, double baseValue);
public static double Log(System.Numerics.BigInteger value, double baseValue);
static member Log : System.Numerics.BigInteger * double -> double
Public Shared Function Log (value As BigInteger, baseValue As Double) As Double

Параметры

value
BigInteger

Число, логарифм которого нужно найти.

baseValue
Double

Основа логарифма.

Возвращаемое значение

baseValue Базовый логарифмvalue, как показано в таблице в разделе "Примечания".

Исключения

Журнал value выходит за пределы диапазона Double типа данных.

Комментарии

value Параметры baseValue указаны в виде базовых 10 чисел.

Точное возвращаемое значение метода зависит от знака и значения знака value и значения baseValue, как показано в следующей таблице.

value Параметр baseValue Параметр Возвращаемое значение
value > 0 (0 <baseValue< 1) -или-(baseValue> 1) logbaseValue(value)
value < 0 (любое значение) Double.NaN
(любое значение) baseValue < 0 Double.NaN
value != 1 baseValue = 0 Double.NaN
value != 1 baseValue = Double.PositiveInfinity Double.NaN
(любое значение) baseValue = Double.NaN Double.NaN
(любое значение) baseValue = 1 Double.NaN
value = 0 0 <baseValue< 1 Double.PositiveInfinity
value = 0 baseValue > 1 Double.PositiveInfinity
value = 1 baseValue = 0 0
value = 1 baseValue = Double.PositiveInfinity 0

Чтобы вычислить базовый 10 логарифм BigInteger значения, вызовите Log10 метод. Чтобы вычислить естественный логарифм числа, вызовите Log(BigInteger) метод.

Этот метод соответствует методу Math.Log для примитивных числовых типов.

См. также раздел

Применяется к