Compartilhar via


BigInteger.Log Método

Definição

Retorna o logaritmo de um número especificado.

Sobrecargas

Log(BigInteger)

Retorna o logaritmo natural (de base e) de um número especificado.

Log(BigInteger, Double)

Retorna o logaritmo de um número especificado em uma base especificada.

Log(BigInteger)

Origem:
BigInteger.cs
Origem:
BigInteger.cs
Origem:
BigInteger.cs

Retorna o logaritmo natural (de base e) de um número especificado.

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

Parâmetros

value
BigInteger

O número cujo logaritmo deve ser encontrado.

Retornos

O logaritmo natural (base e) de value, conforme mostrado na tabela na seção Comentários.

Exceções

O log natural de value está fora do intervalo do tipo de dados Double.

Comentários

O value parâmetro é especificado como um número base 10.

O valor retornado preciso desse método depende do sinal de value, como mostra a tabela a seguir.

Sinal de value parâmetro Valor retornado
Positivo O logaritmo natural de value; ou seja, ln valueou log evalue.
Zero NegativeInfinity.
Negativo NaN.

Para calcular o logaritmo base 10 de um BigInteger valor, chame o Log10 método . Para calcular o logaritmo de um número em outra base, chame o Log(BigInteger, Double) método .

Você pode encontrar a raiz quadrada de um número chamando o Log método junto com o Math.Exp método . Observe que o resultado será Double.PositiveInfinity se o resultado for maior que Double.MaxValue. O exemplo a seguir calcula a raiz quadrada de cada elemento em uma matriz de BigInteger valores.

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

Esse método corresponde ao Math.Log(Double) método para os tipos numéricos primitivos.

Confira também

Aplica-se a

Log(BigInteger, Double)

Origem:
BigInteger.cs
Origem:
BigInteger.cs
Origem:
BigInteger.cs

Retorna o logaritmo de um número especificado em uma base especificada.

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

Parâmetros

value
BigInteger

Um número cujo logaritmo deve ser localizado.

baseValue
Double

A base do logaritmo.

Retornos

O logaritmo de base baseValue de value, conforme mostrado na tabela na seção Comentários.

Exceções

O log de value está fora do intervalo do tipo de dados Double.

Comentários

Os value parâmetros e baseValue são especificados como números base 10.

O valor retornado preciso do método depende do sinal de value e do sinal e do valor de baseValue, como mostra a tabela a seguir.

Parâmetro value Parâmetro baseValue Valor retornado
value > 0 (0 <baseValue< 1) -ou- (baseValue> 1) logbaseValue(value)
value < 0 (nenhum valor) Double.NaN
(nenhum valor) baseValue < 0 Double.NaN
value != 1 baseValue = 0 Double.NaN
value != 1 baseValue = Double.PositiveInfinity Double.NaN
(nenhum valor) baseValue = Double.NaN Double.NaN
(nenhum valor) 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

Para calcular o logaritmo base 10 de um BigInteger valor, chame o Log10 método . Para calcular o logaritmo natural de um número, chame o Log(BigInteger) método .

Esse método corresponde ao Math.Log método para os tipos numéricos primitivos.

Confira também

Aplica-se a