Condividi tramite


BigInteger.Log Metodo

Definizione

Restituisce il logaritmo del numero specificato.

Overload

Log(BigInteger)

Restituisce il logaritmo naturale (in base e) di un numero specificato.

Log(BigInteger, Double)

Restituisce il logaritmo del numero specificato in una base specificata.

Log(BigInteger)

Origine:
BigInteger.cs
Origine:
BigInteger.cs
Origine:
BigInteger.cs

Restituisce il logaritmo naturale (in base e) di un numero specificato.

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

Parametri

value
BigInteger

Numero di cui è necessario trovare il logaritmo.

Restituisce

Logaritmo naturale (di base e) di value, come mostrato nella tabella della sezione Osservazioni.

Eccezioni

Il logaritmo naturale di value non è compreso nell'intervallo del tipo di dati Double.

Commenti

Il value parametro viene specificato come numero base 10.

Il valore restituito preciso di questo metodo dipende dal segno di value, come illustrato nella tabella seguente.

Segno del value parametro Valore restituito
Positivo Logaritmo naturale di value, ovvero ln valueo log evalue.
Zero NegativeInfinity.
Negativo NaN.

Per calcolare il logaritmo di base 10 di un BigInteger valore, chiamare il Log10 metodo . Per calcolare il logaritmo di un numero in un'altra base, chiamare il Log(BigInteger, Double) metodo .

È possibile trovare la radice quadrata di un numero chiamando il Log metodo insieme al Math.Exp metodo . Si noti che il risultato è Double.PositiveInfinity se il risultato è maggiore di Double.MaxValue. Nell'esempio seguente viene calcolata la radice quadrata di ogni elemento in una matrice di BigInteger valori.

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

Questo metodo corrisponde al Math.Log(Double) metodo per i tipi numerici primitivi.

Vedi anche

Si applica a

Log(BigInteger, Double)

Origine:
BigInteger.cs
Origine:
BigInteger.cs
Origine:
BigInteger.cs

Restituisce il logaritmo del numero specificato in una base specificata.

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

Parametri

value
BigInteger

Numero di cui trovare il logaritmo.

baseValue
Double

Base del logaritmo.

Restituisce

Logaritmo di base baseValue di value, come mostrato nella tabella della sezione Osservazioni.

Eccezioni

Il logaritmo di value non è compreso nell'intervallo del tipo di dati Double.

Commenti

I value parametri e baseValue vengono specificati come numeri di base 10.

Il valore restituito preciso del metodo dipende dal segno e dal valore di value e dal segno e dal valore di baseValue, come illustrato nella tabella seguente.

Parametro value. Parametro baseValue. Valore restituito
value > 0 (0 <baseValue< 1) -o-(baseValue> 1) logbaseValue(value)
value < 0 (qualsiasi valore) Double.NaN
(qualsiasi valore) baseValue < 0 Double.NaN
value != 1 baseValue = 0 Double.NaN
value != 1 baseValue = Double.PositiveInfinity Double.NaN
(qualsiasi valore) baseValue = Double.NaN Double.NaN
(qualsiasi valore) 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

Per calcolare il logaritmo di base 10 di un BigInteger valore, chiamare il Log10 metodo . Per calcolare il logaritmo naturale di un numero, chiamare il Log(BigInteger) metodo .

Questo metodo corrisponde al Math.Log metodo per i tipi numerici primitivi.

Vedi anche

Si applica a