Sdílet prostřednictvím


BigInteger.Log Metoda

Definice

Vrátí logaritmus zadaného čísla.

Přetížení

Log(BigInteger)

Vrátí přirozený (základní e) logaritmus zadaného čísla.

Log(BigInteger, Double)

Vrátí logaritmus zadaného čísla v zadaném základu.

Log(BigInteger)

Zdroj:
BigInteger.cs
Zdroj:
BigInteger.cs
Zdroj:
BigInteger.cs

Vrátí přirozený (základní e) logaritmus zadaného čísla.

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

Parametry

value
BigInteger

Číslo, jehož logaritmus se má najít.

Návraty

Přirozený (základní e) logaritmus value, jak je znázorněno v tabulce v části Poznámky.

Výjimky

Přirozený protokol je value mimo rozsah datového Double typu.

Poznámky

Parametr value je zadaný jako základní číslo 10.

Přesná návratová hodnota této metody závisí na znaménku value, jak ukazuje následující tabulka.

Znaménko parametru value Vrácená hodnota
Kladné Přirozený logaritmus value; tj. ln value, nebo log evalue.
Žádnou NegativeInfinity.
Záporný NaN.

Chcete-li vypočítat dekadický logaritmus BigInteger hodnoty, zavolejte metodu Log10 . Chcete-li vypočítat logaritmus čísla v jiném základu, zavolejte metodu Log(BigInteger, Double) .

Druhou odmocninu čísla můžete najít zavoláním Log metody společně s metodou Math.Exp . Všimněte si, že výsledek je Double.PositiveInfinity větší než Double.MaxValue. Následující příklad vypočítá druhou odmocninu každého prvku v poli BigInteger hodnot.

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

Tato metoda odpovídá Math.Log(Double) metodě pro primitivní číselné typy.

Viz také

Platí pro

Log(BigInteger, Double)

Zdroj:
BigInteger.cs
Zdroj:
BigInteger.cs
Zdroj:
BigInteger.cs

Vrátí logaritmus zadaného čísla v zadaném základu.

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

Parametry

value
BigInteger

Číslo, jehož logaritmus se má najít.

baseValue
Double

Základ logaritmu.

Návraty

Základní baseValue logaritmus value, jak je znázorněno v tabulce v části Poznámky.

Výjimky

Protokol je value mimo rozsah datového Double typu.

Poznámky

Parametry value a baseValue se zadají jako čísla 10 základu.

Přesná návratová hodnota metody závisí na znaménku value a na znaménku a hodnotě baseValue, jak ukazuje následující tabulka.

value Parametr baseValue Parametr Vrácená hodnota
value > 0 (0 <baseValue< 1) -nebo-(baseValue> 1) logbaseValue(value)
value < 0 (libovolná hodnota) Double.NaN
(libovolná hodnota) baseValue < 0 Double.NaN
value != 1 baseValue = 0 Double.NaN
value != 1 baseValue = Double.PositiveInfinity Double.NaN
(libovolná hodnota) baseValue = Double.NaN Double.NaN
(libovolná hodnota) 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

Chcete-li vypočítat dekadický logaritmus BigInteger hodnoty, zavolejte metodu Log10 . Chcete-li vypočítat přirozený logaritmus čísla, zavolejte metodu Log(BigInteger) .

Tato metoda odpovídá Math.Log metodě pro primitivní číselné typy.

Viz také

Platí pro