Поделиться через


BigInteger.Log Метод

Определение

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

Перегрузки

Log(BigInteger)

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

Log(BigInteger, Double)

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

Log(BigInteger)

Исходный код:
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 указывается в виде числа base 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

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

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 для примитивных числовых типов.

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

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