BigInteger.Log 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回指定数字的对数。
重载
Log(BigInteger) |
返回指定数字的自然对数(底为 |
Log(BigInteger, Double) |
返回指定数字在使用指定底时的对数。 |
Log(BigInteger)
- Source:
- BigInteger.cs
- Source:
- BigInteger.cs
- Source:
- 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
要查找其对数的数字。
返回
value
的自然对数(底为 e
),如“备注”部分中的表所示。
例外
value
的自然对数超出了 Double 数据类型的范围。
注解
参数 value
指定为 10 基数。
此方法的精确返回值取决于 的 value
符号,如下表所示。
参数的 value 符号 |
返回值 |
---|---|
正 | 的自然对数 value ;即 ln value 或对数 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)
- Source:
- BigInteger.cs
- Source:
- BigInteger.cs
- Source:
- 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 基元数值类型的 方法。