Math. Log Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает логарифм указанного числа.
Перегрузки
Возвращает логарифм указанного числа в системе счисления с указанным основанием.
Возвращает натуральный логарифм (с основанием e ) указанного числа.
Log(Double, Double)
Возвращает логарифм указанного числа в системе счисления с указанным основанием.
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
Параметры
Число, логарифм которого требуется найти.
Возвращаемое значение
Одно из значений, перечисленных в следующей таблице. (+бесконечность обозначает PositiveInfinity, -бесконечность обозначает NegativeInfinity, а нечисловое значение обозначает NaN.)
| a | newBase | Возвращаемое значение |
|---|---|---|
| a > 0 | (0 < newBase < 1) -или- ( newBase >1) | lognewBase(a) |
| a < 0 | (любое значение) | NaN |
| (любое значение) | newBase < 0 | не число |
| a != 1 | newBase = 0 | NaN |
| a != 1 | newBase = +бесконечность | NaN |
| a = NaN | (любое значение) | NaN |
| (любое значение) | newBase = не число | не число |
| (любое значение) | newBase = 1 | NaN |
| a = 0 | 0 < newBase < 1 | +бесконечность |
| a = 0 | newBase > 1 | -бесконечность |
| a = +бесконечность | 0 < newBase < 1 | -Infinity |
| a = +бесконечность | newBase > 1 | +бесконечность |
| a = 1 | newBase = 0 | 0 |
| a = 1 | newBase = +бесконечность | 0 |
Примеры
В следующем примере используется Log для вычисления определенных логарифмических удостоверений для выбранных значений.
// 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(, ) == " "\n 1.0 / Math::Log(, ) == ", argB, argX, Math::Log( argX, argB ), 1.0 / Math::Log( argB, argX ) ); // Evaluate log(B)[X] == ln[X] / ln[B]. Console::WriteLine( " Math::Log() / Math::Log() == ", argB, argX, Math::Log( argX ) / Math::Log( argB ) ); // Evaluate log(B)[X] == log(B)[e] * ln[X]. Console::WriteLine( "Math::Log(Math::E, ) * Math::Log() == ", 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(, ) == " + "\n 1.0 / Math.Log(, ) == ", argB, argX, Math.Log(argX, argB), 1.0 / Math.Log(argB, argX) ); // Evaluate log(B)[X] == ln[X] / ln[B]. Console.WriteLine( " Math.Log() / Math.Log() == ", argB, argX, Math.Log(argX) / Math.Log(argB) ); // Evaluate log(B)[X] == log(B)[e] * ln[X]. Console.WriteLine( "Math.Log(Math.E, ) * Math.Log() == ", 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(, ) == 1.0 / Math.Log(, ) == """ // Evaluate log(B)[X] == ln[X] / ln[B]. printfn $" Math.Log() / Math.Log() == " // Evaluate log(B)[X] == log(B)[e] * ln[X]. printfn $"Math.Log(Math.E, ) * Math.Log() == " 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(, ) = " + _ vbCrLf & " 1.0 / Math.Log(, ) = ", _ argB, argX, Math.Log(argX, argB), _ 1.0 / Math.Log(argB, argX)) ' Evaluate log(B)[X] = ln[X] / ln[B]. Console.WriteLine( _ " Math.Log() / Math.Log() = ", _ argB, argX, Math.Log(argX) / Math.Log(argB)) ' Evaluate log(B)[X] = log(B)[e] * ln[X]. Console.WriteLine( _ "Math.Log(Math.E, ) * Math.Log() = ", _ 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
Комментарии
Этот метод вызывает базовую среду выполнения C, и точный результат или допустимый диапазон входных данных могут отличаться в разных операционных системах или архитектурах.
log в C++: натуральный логарифм с примерами
Всем привет! В данной статье речь пойдет о функции log из файла . Данная функция позволяет нам получить натуральный логарифм числа. Мы разберемся как работать с данной функцией, а также ее отличия от других похожих функций — logl и logf . В конце данного урока есть упражнения, которые помогут вам закрепить изученный материал.

Как получить натуральный логарифм числа в C++
Для того, чтобы получить натуральный логарифм числа в C++ мы можем воспользоваться функцией log из файла . Ее сигнатура выглядит следующим образом:
double log (double x);
Данная функция принимает только один аргумент — число, для которого нужно вычислить логарифм. Функция возвращает результ