BigInteger.Log Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí logaritmus zadaného čísla.
Přetížení
Log(BigInteger) |
Vrátí přirozený (základní |
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.