BigInteger.Log Metod

Definition

Returnerar logaritmen för ett angivet tal.

Överlagringar

Name Description
Log(BigInteger)

Returnerar logaritmen natural (base e) för ett angivet tal.

Log(BigInteger, Double)

Returnerar logaritmen för ett angivet tal i en angiven bas.

Log(BigInteger)

Källa:
BigInteger.cs
Källa:
BigInteger.cs
Källa:
BigInteger.cs
Källa:
BigInteger.cs
Källa:
BigInteger.cs

Returnerar logaritmen natural (base e) för ett angivet tal.

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

Parametrar

value
BigInteger

Numret vars logaritm ska hittas.

Returer

Den naturliga (bas e) logaritmen för value, som visas i tabellen i avsnittet Anmärkningar.

Undantag

Den naturliga loggen för value ligger inom datatypens Double intervall.

Kommentarer

Parametern value anges som ett basnummer 10.

Det exakta returvärdet för den här metoden beror på tecknet för value, som följande tabell visar.

value Tecken på parameter Returvärde
Positiva Den naturliga logaritmen för value; det vill: ln valueeller log evalue.
Noll NegativeInfinity.
Negativt NaN.

Om du vill beräkna bas 10 logaritm för ett BigInteger värde anropar du Log10 metoden. Om du vill beräkna logaritmen för ett tal i en annan bas anropar Log(BigInteger, Double) du metoden.

Du hittar kvadratroten för ett tal genom att anropa Log metoden tillsammans med Math.Exp metoden. Observera att resultatet är Double.PositiveInfinity om resultatet är större än Double.MaxValue. I följande exempel beräknas kvadratroten för varje element i en matris med BigInteger värden.

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

Den här metoden motsvarar Math.Log(Double) metoden för de primitiva numeriska typerna.

Se även

Gäller för

Log(BigInteger, Double)

Källa:
BigInteger.cs
Källa:
BigInteger.cs
Källa:
BigInteger.cs
Källa:
BigInteger.cs
Källa:
BigInteger.cs

Returnerar logaritmen för ett angivet tal i en angiven bas.

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

Parametrar

value
BigInteger

Ett tal vars logaritm ska hittas.

baseValue
Double

Basen för logaritmen.

Returer

Basloggaritmen baseValuevalueför , som visas i tabellen i avsnittet Kommentarer.

Undantag

Loggen value för ligger inom datatypens Double intervall.

Kommentarer

Parametrarna value och baseValue anges som basnummer 10.

Metodens exakta returvärde beror på tecknet på value och på tecknet och värdet baseValueför , som följande tabell visar.

value Parametern baseValue Parametern Returvärde
value > 0 (0 <baseValue< 1) -or-(baseValue> 1) logbaseValue(value)
value < 0 (valfritt värde) Double.NaN
(valfritt värde) baseValue < 0 Double.NaN
value != 1 baseValue = 0 Double.NaN
value != 1 baseValue = Double.PositiveInfinity Double.NaN
(valfritt värde) baseValue = Double.NaN Double.NaN
(valfritt värde) 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

Om du vill beräkna bas 10 logaritm för ett BigInteger värde anropar du Log10 metoden. Om du vill beräkna den naturliga logaritmen för ett tal anropar du Log(BigInteger) metoden.

Den här metoden motsvarar Math.Log metoden för de primitiva numeriska typerna.

Se även

Gäller för