BigInteger.Log Methode

Definitie

Retourneert de logaritme van een opgegeven getal.

Overloads

Name Description
Log(BigInteger)

Retourneert de natuurlijke logaritme (grondtal e) van een opgegeven getal.

Log(BigInteger, Double)

Retourneert de logaritme van een opgegeven getal in een opgegeven basis.

Log(BigInteger)

Retourneert de natuurlijke logaritme (grondtal e) van een opgegeven getal.

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

Parameters

value
BigInteger

Het getal waarvan de logaritme moet worden gevonden.

Retouren

De natuurlijke logaritme (basis e) van value, zoals wordt weergegeven in de tabel in de sectie Opmerkingen.

Uitzonderingen

Het natuurlijke logboek valt value buiten het bereik van het Double gegevenstype.

Opmerkingen

De value parameter wordt opgegeven als een basisnummer van 10.

De exacte retourwaarde van deze methode is afhankelijk van het teken van value, zoals in de volgende tabel wordt weergegeven.

Teken van value parameter Retourwaarde
Positief De natuurlijke logaritme van value; dat wil gezegd, ln valueof log evalue.
Nul NegativeInfinity.
Negatief NaN.

Als u de logaritme met grondtal 10 van een BigInteger waarde wilt berekenen, roept u de Log10 methode aan. Als u de logaritme van een getal in een andere basis wilt berekenen, roept u de Log(BigInteger, Double) methode aan.

U vindt de vierkantswortel van een getal door de Log methode samen met de Math.Exp methode aan te roepen. Houd er rekening mee dat het resultaat is Double.PositiveInfinity als het resultaat groter is dan Double.MaxValue. In het volgende voorbeeld wordt de vierkantswortel van elk element in een matrix met BigInteger waarden berekend.

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

Deze methode komt overeen met de Math.Log(Double) methode voor de primitieve numerieke typen.

Zie ook

Van toepassing op

Log(BigInteger, Double)

Retourneert de logaritme van een opgegeven getal in een opgegeven basis.

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

Parameters

value
BigInteger

Een getal waarvan de logaritme moet worden gevonden.

baseValue
Double

De basis van de logaritme.

Retouren

De logaritme baseValue basis van value, zoals wordt weergegeven in de tabel in de sectie Opmerkingen.

Uitzonderingen

Het logboek valt value buiten het bereik van het Double gegevenstype.

Opmerkingen

De value parameters baseValue worden opgegeven als basis 10 getallen.

De exacte retourwaarde van de methode is afhankelijk van het teken van value en op het teken en de waarde van baseValue, zoals in de volgende tabel wordt weergegeven.

value-parameter baseValue-parameter Retourwaarde
value > 0 (0 <baseValue< 1) -or-(baseValue> 1) logbaseValue(value)
value < 0 (elke waarde) Double.NaN
(elke waarde) baseValue < 0 Double.NaN
value != 1 baseValue = 0 Double.NaN
value != 1 baseValue = Double.PositiveInfinity Double.NaN
(elke waarde) baseValue = Double.NaN Double.NaN
(elke waarde) 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

Als u de logaritme met grondtal 10 van een BigInteger waarde wilt berekenen, roept u de Log10 methode aan. Als u de natuurlijke logaritme van een getal wilt berekenen, roept u de Log(BigInteger) methode aan.

Deze methode komt overeen met de Math.Log methode voor de primitieve numerieke typen.

Zie ook

Van toepassing op