BigInteger.Log 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回指定數字的對數。
多載
Log(BigInteger) |
傳回指定數字的自然 (底數為 |
Log(BigInteger, Double) |
傳回指定底數中指定數字的對數。 |
Log(BigInteger)
傳回指定數字的自然 (底數為 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
要找出其對數的數字。
傳回
value
的 (以 e
為底數) 自然對數,如<備註>一節中的表格所示。
例外狀況
value
的自然對數超出 Double 資料型別範圍。
備註
參數 value
會指定為基底 10 個數位。
這個方法的精確傳回值取決於 的 value
正負號,如下表所示。
參數符號value |
傳回值 |
---|---|
正 | 的自然對數 value ;也就是 ln value 或 log evalue 。 |
零 | NegativeInfinity. |
負 | NaN. |
若要計算值的基底 10 對數 BigInteger ,請呼叫 Log10 方法。 若要計算另一個基底中數位的對數,請呼叫 Log(BigInteger, Double) 方法。
您可以藉由呼叫 Log 方法以及 Math.Exp 方法,找到數位的平方根。 請注意,如果結果大於 Double.MaxValue,則結果為 Double.PositiveInfinity 。 下列範例會計算值陣列 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)
傳回指定底數中指定數字的對數。
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 基本數值類型的方法。