BigInteger.Log Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает логарифм указанного числа.
Перегрузки
Log(BigInteger) |
Возвращает натуральный логарифм (с основанием |
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 для примитивных числовых типов.