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

BigInteger値の底 10 対数を計算するには、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) -or-(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

BigInteger値の底 10 対数を計算するには、Log10 メソッドを呼び出します。 数値の自然対数を計算するには、 Log(BigInteger) メソッドを呼び出します。

このメソッドは、プリミティブ数値型の Math.Log メソッドに対応します。

こちらもご覧ください

適用対象