次の方法で共有


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

対数を求める対象の数値。

戻り値

value の自然対数 (e を底とする対数)。「解説」の表を参照してください。

例外

value の自然対数が、Double データ型の範囲外です。

注釈

パラメーターは value 、底 10 の数値として指定されます。

次の表に示すように、このメソッドの正確な戻り値は の value符号によって異なります。

パラメーターの value 記号 戻り値
の自然対数 value。つまり、ln value、または log e ですvalue
ゼロ 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)

ソース:
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 プリミティブ数値型の メソッドに対応します。

こちらもご覧ください

適用対象