Math.Log Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne le logarithme d'un nombre spécifié.
Surcharges
Log(Double, Double) |
Retourne le logarithme d'un nombre spécifié dans une base spécifiée. |
Log(Double) |
Retourne le logarithme naturel (base |
Log(Double, Double)
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
Retourne le logarithme d'un nombre spécifié dans une base spécifiée.
public:
static double Log(double a, double newBase);
public static double Log (double a, double newBase);
static member Log : double * double -> double
Public Shared Function Log (a As Double, newBase As Double) As Double
Paramètres
- a
- Double
Nombre dont le logarithme doit être recherché.
- newBase
- Double
Base du logarithme.
Retours
Une des valeurs du tableau suivant. (+Infini indique PositiveInfinity, -Infini indique NegativeInfinity et NaN indique NaN.)
a | newBase | Valeur de retour |
---|---|---|
a
> 0 | (0 <newBase < 1) -or- (newBase > 1) | lognewBase(a) |
a
< 0 | (toute valeur) | NaN |
(toute valeur) |
newBase
< 0 | NaN |
a != 1 |
newBase = 0 | NaN |
a != 1 |
newBase = +Infinity | NaN |
a = NaN | (toute valeur) | NaN |
(toute valeur) |
newBase = NaN | NaN |
(toute valeur) |
newBase = 1 | NaN |
a = 0 | 0 <newBase < 1 | +Infini |
a = 0 |
newBase
> 1 | -Infini |
a = +Infinity | 0 <newBase < 1 | -Infini |
a = +Infinity |
newBase
> 1 | +Infini |
a = 1 |
newBase = 0 | 0 |
a = 1 |
newBase = +Infinity | 0 |
Exemples
L’exemple suivant utilise Log pour évaluer certaines identités logarithmiques pour les valeurs sélectionnées.
// Example for the Math::Log( double ) and Math::Log( double, double ) methods.
using namespace System;
// Evaluate logarithmic identities that are functions of two arguments.
void UseBaseAndArg( double argB, double argX )
{
// Evaluate log(B)[X] == 1 / log(X)[B].
Console::WriteLine( "\n Math::Log({1}, {0}) == {2:E16}"
"\n 1.0 / Math::Log({0}, {1}) == {3:E16}", argB, argX, Math::Log( argX, argB ), 1.0 / Math::Log( argB, argX ) );
// Evaluate log(B)[X] == ln[X] / ln[B].
Console::WriteLine( " Math::Log({1}) / Math::Log({0}) == {2:E16}", argB, argX, Math::Log( argX ) / Math::Log( argB ) );
// Evaluate log(B)[X] == log(B)[e] * ln[X].
Console::WriteLine( "Math::Log(Math::E, {0}) * Math::Log({1}) == {2:E16}", argB, argX, Math::Log( Math::E, argB ) * Math::Log( argX ) );
}
void main()
{
Console::WriteLine( "This example of Math::Log( double ) and "
"Math::Log( double, double )\n"
"generates the following output.\n" );
Console::WriteLine( "Evaluate these identities with "
"selected values for X and B (base):" );
Console::WriteLine( " log(B)[X] == 1 / log(X)[B]" );
Console::WriteLine( " log(B)[X] == ln[X] / ln[B]" );
Console::WriteLine( " log(B)[X] == log(B)[e] * ln[X]" );
UseBaseAndArg( 0.1, 1.2 );
UseBaseAndArg( 1.2, 4.9 );
UseBaseAndArg( 4.9, 9.9 );
UseBaseAndArg( 9.9, 0.1 );
}
/*
This example of Math::Log( double ) and Math::Log( double, double )
generates the following output.
Evaluate these identities with selected values for X and B (base):
log(B)[X] == 1 / log(X)[B]
log(B)[X] == ln[X] / ln[B]
log(B)[X] == log(B)[e] * ln[X]
Math::Log(1.2, 0.1) == -7.9181246047624818E-002
1.0 / Math::Log(0.1, 1.2) == -7.9181246047624818E-002
Math::Log(1.2) / Math::Log(0.1) == -7.9181246047624818E-002
Math::Log(Math::E, 0.1) * Math::Log(1.2) == -7.9181246047624804E-002
Math::Log(4.9, 1.2) == 8.7166610085093179E+000
1.0 / Math::Log(1.2, 4.9) == 8.7166610085093161E+000
Math::Log(4.9) / Math::Log(1.2) == 8.7166610085093179E+000
Math::Log(Math::E, 1.2) * Math::Log(4.9) == 8.7166610085093179E+000
Math::Log(9.9, 4.9) == 1.4425396251981288E+000
1.0 / Math::Log(4.9, 9.9) == 1.4425396251981288E+000
Math::Log(9.9) / Math::Log(4.9) == 1.4425396251981288E+000
Math::Log(Math::E, 4.9) * Math::Log(9.9) == 1.4425396251981288E+000
Math::Log(0.1, 9.9) == -1.0043839404494075E+000
1.0 / Math::Log(9.9, 0.1) == -1.0043839404494075E+000
Math::Log(0.1) / Math::Log(9.9) == -1.0043839404494075E+000
Math::Log(Math::E, 9.9) * Math::Log(0.1) == -1.0043839404494077E+000
*/
// Example for the Math.Log( double ) and Math.Log( double, double ) methods.
using System;
class LogDLogDD
{
public static void Main()
{
Console.WriteLine(
"This example of Math.Log( double ) and " +
"Math.Log( double, double )\n" +
"generates the following output.\n" );
Console.WriteLine(
"Evaluate these identities with " +
"selected values for X and B (base):" );
Console.WriteLine( " log(B)[X] == 1 / log(X)[B]" );
Console.WriteLine( " log(B)[X] == ln[X] / ln[B]" );
Console.WriteLine( " log(B)[X] == log(B)[e] * ln[X]" );
UseBaseAndArg(0.1, 1.2);
UseBaseAndArg(1.2, 4.9);
UseBaseAndArg(4.9, 9.9);
UseBaseAndArg(9.9, 0.1);
}
// Evaluate logarithmic identities that are functions of two arguments.
static void UseBaseAndArg(double argB, double argX)
{
// Evaluate log(B)[X] == 1 / log(X)[B].
Console.WriteLine(
"\n Math.Log({1}, {0}) == {2:E16}" +
"\n 1.0 / Math.Log({0}, {1}) == {3:E16}",
argB, argX, Math.Log(argX, argB),
1.0 / Math.Log(argB, argX) );
// Evaluate log(B)[X] == ln[X] / ln[B].
Console.WriteLine(
" Math.Log({1}) / Math.Log({0}) == {2:E16}",
argB, argX, Math.Log(argX) / Math.Log(argB) );
// Evaluate log(B)[X] == log(B)[e] * ln[X].
Console.WriteLine(
"Math.Log(Math.E, {0}) * Math.Log({1}) == {2:E16}",
argB, argX, Math.Log(Math.E, argB) * Math.Log(argX) );
}
}
/*
This example of Math.Log( double ) and Math.Log( double, double )
generates the following output.
Evaluate these identities with selected values for X and B (base):
log(B)[X] == 1 / log(X)[B]
log(B)[X] == ln[X] / ln[B]
log(B)[X] == log(B)[e] * ln[X]
Math.Log(1.2, 0.1) == -7.9181246047624818E-002
1.0 / Math.Log(0.1, 1.2) == -7.9181246047624818E-002
Math.Log(1.2) / Math.Log(0.1) == -7.9181246047624818E-002
Math.Log(Math.E, 0.1) * Math.Log(1.2) == -7.9181246047624804E-002
Math.Log(4.9, 1.2) == 8.7166610085093179E+000
1.0 / Math.Log(1.2, 4.9) == 8.7166610085093161E+000
Math.Log(4.9) / Math.Log(1.2) == 8.7166610085093179E+000
Math.Log(Math.E, 1.2) * Math.Log(4.9) == 8.7166610085093179E+000
Math.Log(9.9, 4.9) == 1.4425396251981288E+000
1.0 / Math.Log(4.9, 9.9) == 1.4425396251981288E+000
Math.Log(9.9) / Math.Log(4.9) == 1.4425396251981288E+000
Math.Log(Math.E, 4.9) * Math.Log(9.9) == 1.4425396251981288E+000
Math.Log(0.1, 9.9) == -1.0043839404494075E+000
1.0 / Math.Log(9.9, 0.1) == -1.0043839404494075E+000
Math.Log(0.1) / Math.Log(9.9) == -1.0043839404494075E+000
Math.Log(Math.E, 9.9) * Math.Log(0.1) == -1.0043839404494077E+000
*/
// Example for the Math.Log( double ) and Math.Log( double, double ) methods.
open System
// Evaluate logarithmic identities that are functions of two arguments.
let useBaseAndArg argB argX =
// Evaluate log(B)[X] == 1 / log(X)[B].
printfn $"""
Math.Log({argX}, {argB}) == {Math.Log(argX, argB):E16}
1.0 / Math.Log({argB}, {argX}) == {1. / Math.Log(argB, argX):E16}"""
// Evaluate log(B)[X] == ln[X] / ln[B].
printfn $" Math.Log({argX}) / Math.Log({argB}) == {Math.Log argX / Math.Log argB:E16}"
// Evaluate log(B)[X] == log(B)[e] * ln[X].
printfn $"Math.Log(Math.E, {argB}) * Math.Log({argX}) == {Math.Log(Math.E, argB) * Math.Log argX:E16}"
printfn
"""This example of Math.Log( double ) and Math.Log( double, double )
generates the following output.
printfn "Evaluate these identities with selected values for X and B (base):"""
printfn " log(B)[X] == 1 / log(X)[B]"
printfn " log(B)[X] == ln[X] / ln[B]"
printfn " log(B)[X] == log(B)[e] * ln[X]"
useBaseAndArg 0.1 1.2
useBaseAndArg 1.2 4.9
useBaseAndArg 4.9 9.9
useBaseAndArg 9.9 0.1
// This example of Math.Log( double ) and Math.Log( double, double )
// generates the following output.
//
// Evaluate these identities with selected values for X and B (base):
// log(B)[X] == 1 / log(X)[B]
// log(B)[X] == ln[X] / ln[B]
// log(B)[X] == log(B)[e] * ln[X]
//
// Math.Log(1.2, 0.1) == -7.9181246047624818E-002
// 1.0 / Math.Log(0.1, 1.2) == -7.9181246047624818E-002
// Math.Log(1.2) / Math.Log(0.1) == -7.9181246047624818E-002
// Math.Log(Math.E, 0.1) * Math.Log(1.2) == -7.9181246047624804E-002
//
// Math.Log(4.9, 1.2) == 8.7166610085093179E+000
// 1.0 / Math.Log(1.2, 4.9) == 8.7166610085093161E+000
// Math.Log(4.9) / Math.Log(1.2) == 8.7166610085093179E+000
// Math.Log(Math.E, 1.2) * Math.Log(4.9) == 8.7166610085093179E+000
//
// Math.Log(9.9, 4.9) == 1.4425396251981288E+000
// 1.0 / Math.Log(4.9, 9.9) == 1.4425396251981288E+000
// Math.Log(9.9) / Math.Log(4.9) == 1.4425396251981288E+000
// Math.Log(Math.E, 4.9) * Math.Log(9.9) == 1.4425396251981288E+000
//
// Math.Log(0.1, 9.9) == -1.0043839404494075E+000
// 1.0 / Math.Log(9.9, 0.1) == -1.0043839404494075E+000
// Math.Log(0.1) / Math.Log(9.9) == -1.0043839404494075E+000
// Math.Log(Math.E, 9.9) * Math.Log(0.1) == -1.0043839404494077E+000
' Example for the Math.Log( Double ) and Math.Log( Double, Double ) methods.
Module LogDLogDD
Sub Main()
Console.WriteLine( _
"This example of Math.Log( Double ) and " + _
"Math.Log( Double, Double )" & vbCrLf & _
"generates the following output." & vbCrLf)
Console.WriteLine( _
"Evaluate these identities with selected " & _
"values for X and B (base):")
Console.WriteLine(" log(B)[X] = 1 / log(X)[B]")
Console.WriteLine(" log(B)[X] = ln[X] / ln[B]")
Console.WriteLine(" log(B)[X] = log(B)[e] * ln[X]")
UseBaseAndArg(0.1, 1.2)
UseBaseAndArg(1.2, 4.9)
UseBaseAndArg(4.9, 9.9)
UseBaseAndArg(9.9, 0.1)
End Sub
' Evaluate logarithmic identities that are functions of two arguments.
Sub UseBaseAndArg(argB As Double, argX As Double)
' Evaluate log(B)[X] = 1 / log(X)[B].
Console.WriteLine( _
vbCrLf & " Math.Log({1}, {0}) = {2:E16}" + _
vbCrLf & " 1.0 / Math.Log({0}, {1}) = {3:E16}", _
argB, argX, Math.Log(argX, argB), _
1.0 / Math.Log(argB, argX))
' Evaluate log(B)[X] = ln[X] / ln[B].
Console.WriteLine( _
" Math.Log({1}) / Math.Log({0}) = {2:E16}", _
argB, argX, Math.Log(argX) / Math.Log(argB))
' Evaluate log(B)[X] = log(B)[e] * ln[X].
Console.WriteLine( _
"Math.Log(Math.E, {0}) * Math.Log({1}) = {2:E16}", _
argB, argX, Math.Log(Math.E, argB) * Math.Log(argX))
End Sub
End Module 'LogDLogDD
' This example of Math.Log( Double ) and Math.Log( Double, Double )
' generates the following output.
'
' Evaluate these identities with selected values for X and B (base):
' log(B)[X] = 1 / log(X)[B]
' log(B)[X] = ln[X] / ln[B]
' log(B)[X] = log(B)[e] * ln[X]
'
' Math.Log(1.2, 0.1) = -7.9181246047624818E-002
' 1.0 / Math.Log(0.1, 1.2) = -7.9181246047624818E-002
' Math.Log(1.2) / Math.Log(0.1) = -7.9181246047624818E-002
' Math.Log(Math.E, 0.1) * Math.Log(1.2) = -7.9181246047624804E-002
'
' Math.Log(4.9, 1.2) = 8.7166610085093179E+000
' 1.0 / Math.Log(1.2, 4.9) = 8.7166610085093161E+000
' Math.Log(4.9) / Math.Log(1.2) = 8.7166610085093179E+000
' Math.Log(Math.E, 1.2) * Math.Log(4.9) = 8.7166610085093179E+000
'
' Math.Log(9.9, 4.9) = 1.4425396251981288E+000
' 1.0 / Math.Log(4.9, 9.9) = 1.4425396251981288E+000
' Math.Log(9.9) / Math.Log(4.9) = 1.4425396251981288E+000
' Math.Log(Math.E, 4.9) * Math.Log(9.9) = 1.4425396251981288E+000
'
' Math.Log(0.1, 9.9) = -1.0043839404494075E+000
' 1.0 / Math.Log(9.9, 0.1) = -1.0043839404494075E+000
' Math.Log(0.1) / Math.Log(9.9) = -1.0043839404494075E+000
' Math.Log(Math.E, 9.9) * Math.Log(0.1) = -1.0043839404494077E+000
Remarques
Cette méthode appelle le runtime C sous-jacent, et le résultat exact ou la plage d’entrée valide peut différer d’un système d’exploitation ou d’une architecture à l’autre.
S’applique à
Log(Double)
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
Retourne le logarithme naturel (base e
) d'un nombre spécifié.
public:
static double Log(double d);
public static double Log (double d);
static member Log : double -> double
Public Shared Function Log (d As Double) As Double
Paramètres
- d
- Double
Nombre dont le logarithme doit être recherché.
Retours
Une des valeurs du tableau suivant.
Paramètre d | Valeur de retour |
---|---|
Positif | Logarithme naturel de d , à savoir ln d ou log e d |
Zéro | NegativeInfinity |
Négatif | NaN |
Égal à NaN | NaN |
Égal à PositiveInfinity | PositiveInfinity |
Exemples
L’exemple suivant illustre la Log méthode .
using System;
public class Example
{
public static void Main()
{
Console.WriteLine(" Evaluate this identity with selected values for X:");
Console.WriteLine(" ln(x) = 1 / log[X](B)");
Console.WriteLine();
double[] XArgs = { 1.2, 4.9, 9.9, 0.1 };
foreach (double argX in XArgs)
{
// Find natural log of argX.
Console.WriteLine(" Math.Log({0}) = {1:E16}",
argX, Math.Log(argX));
// Evaluate 1 / log[X](e).
Console.WriteLine(" 1.0 / Math.Log(e, {0}) = {1:E16}",
argX, 1.0 / Math.Log(Math.E, argX));
Console.WriteLine();
}
}
}
// This example displays the following output:
// Evaluate this identity with selected values for X:
// ln(x) = 1 / log[X](B)
//
// Math.Log(1.2) = 1.8232155679395459E-001
// 1.0 / Math.Log(e, 1.2) = 1.8232155679395459E-001
//
// Math.Log(4.9) = 1.5892352051165810E+000
// 1.0 / Math.Log(e, 4.9) = 1.5892352051165810E+000
//
// Math.Log(9.9) = 2.2925347571405443E+000
// 1.0 / Math.Log(e, 9.9) = 2.2925347571405443E+000
//
// Math.Log(0.1) = -2.3025850929940455E+000
// 1.0 / Math.Log(e, 0.1) = -2.3025850929940455E+000
open System
printfn " Evaluate this identity with selected values for X:"
printfn " ln(x) = 1 / log[X](B)\n"
let XArgs = [| 1.2; 4.9; 9.9; 0.1 |]
for argX in XArgs do
// Find natural log of argX.
// The F# log function may be used instead
printfn $" Math.Log({argX}) = {Math.Log argX:E16}"
// Evaluate 1 / log[X](e).
printfn $" 1.0 / Math.Log(e, {argX}) = {1. / Math.Log(Math.E, argX):E16}\n"
// This example displays the following output:
// Evaluate this identity with selected values for X:
// ln(x) = 1 / log[X](B)
//
// Math.Log(1.2) = 1.8232155679395459E-001
// 1.0 / Math.Log(e, 1.2) = 1.8232155679395459E-001
//
// Math.Log(4.9) = 1.5892352051165810E+000
// 1.0 / Math.Log(e, 4.9) = 1.5892352051165810E+000
//
// Math.Log(9.9) = 2.2925347571405443E+000
// 1.0 / Math.Log(e, 9.9) = 2.2925347571405443E+000
//
// Math.Log(0.1) = -2.3025850929940455E+000
// 1.0 / Math.Log(e, 0.1) = -2.3025850929940455E+000
Module Example
Sub Main()
Console.WriteLine( _
" Evaluate this identity with selected values for X:")
Console.WriteLine(" ln(x) = 1 / log[X](B)")
Console.WriteLine()
Dim XArgs() As Double = { 1.2, 4.9, 9.9, 0.1 }
For Each argX As Double In XArgs
' Find natural log of argX.
Console.WriteLine(" Math.Log({0}) = {1:E16}", _
argX, Math.Log(argX))
' Evaluate 1 / log[X](e).
Console.WriteLine(" 1.0 / Math.Log(e, {0}) = {1:E16}", _
argX, 1.0 / Math.Log(Math.E, argX))
Console.WriteLine()
Next
End Sub
End Module
' This example displays the following output:
' Evaluate this identity with selected values for X:
' ln(x) = 1 / log[X](B)
'
' Math.Log(1.2) = 1.8232155679395459E-001
' 1.0 / Math.Log(e, 1.2) = 1.8232155679395459E-001
'
' Math.Log(4.9) = 1.5892352051165810E+000
' 1.0 / Math.Log(e, 4.9) = 1.5892352051165810E+000
'
' Math.Log(9.9) = 2.2925347571405443E+000
' 1.0 / Math.Log(e, 9.9) = 2.2925347571405443E+000
'
' Math.Log(0.1) = -2.3025850929940455E+000
' 1.0 / Math.Log(e, 0.1) = -2.3025850929940455E+000
Remarques
Le paramètre d
est spécifié en tant que nombre de base 10.
Cette méthode appelle le runtime C sous-jacent, et le résultat exact ou la plage d’entrée valide peut différer d’un système d’exploitation ou d’une architecture à l’autre.
Cette méthode appelle le runtime C sous-jacent, et le résultat exact ou la plage d’entrée valide peut différer d’un système d’exploitation ou d’une architecture à l’autre.