Пространства имён
Варианты
Действия

std::log

Материал из cppreference.com
< cpp‎ | numeric‎ | math
 
 
Numerics библиотеки
Общие математические функции
Плавающей точкой окружающей среды
Комплексные числа
Числовых массивов
Псевдослучайных чисел поколения
Во время компиляции рациональной арифметики (C++11)
Generic числовые операции
Оригинал:
Generic numeric operations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
 
Общие математические функции
Функции
Оригинал:
Functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Основные операции
Оригинал:
Basic operations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Экспоненциальной функции
Оригинал:
Exponential functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
(C++11)
log
(C++11)
(C++11)
Мощность функций
Оригинал:
Power functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
(C++11)
Тригонометрические и гиперболические функции
Оригинал:
Trigonometric and hyperbolic functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
(C++11)
(C++11)
Ошибка и гамма-функции
Оригинал:
Error and gamma functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
(C++11)
(C++11)
(C++11)
Ближайшее целое число операций с плавающей точкой
Оригинал:
Nearest integer floating point operations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Плавающей точкой функции манипуляции
Оригинал:
Floating point manipulation functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
Классификация / сравнения
Оригинал:
Classification/Comparison
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Макро констант
Оригинал:
Macro constants
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)(C++11)(C++11)(C++11)(C++11)
 
Определён в заголовочном файле <cmath>
float       log( float arg );
(1)
double      log( double arg );
(2)
long double log( long double arg );
(3)
double      log( Integral arg );
(4) (начиная с C++11)
1-3) Вычисляет натуральный (по основанию e) логарифм числа arg.
4) Несколько перегрузок или шаблонов функций принимающих аргумент любого из интегральных типов. Эквивалентно 2) (аргумент приводится к double).

Содержание

[править] Параметры

arg значение вещественного типа или интегрального типа

[править] Возвращаемое значение

При отсутствии ошибок, возвращается натуральный (по основанию e) логарифм arg (то есть ln(arg) или log
e
(arg)
).

При возникновении domain-ошибки, возвращается определяемое реализацией значение (NaN если поддерживается)

При возникновении pole-ошибки, возвращается -HUGE_VAL, -HUGE_VALF или -HUGE_VALL.

[править] Ошибки

Ошибки возникают в соответствии с определением math_errhandling

Domain-ошибка возникает, если arg меньше нуля.

Pole-ошибка возникает, если arg равен нулю.

Если реализации поддерживает IEEE вещественную арифметику (IEC 60559):

  • Если аргумент равен ±0, возвращается -∞ и FE_DIVBYZERO возникает.
  • Если аргумент равен 1, возвращается +0
  • Если аргумент отрицательный, возращается NaN и FE_INVALID возникает.
  • Если аргумент равен +∞, возвращается +∞
  • Если аргумент является NaN, возвращается NaN

[править] Пример

#include <iostream>
#include <cmath>
#include <cerrno>
#include <cstring>
#include <cfenv>
#pragma STDC FENV_ACCESS ON
int main()
{
    std::cout << "log(1) = " << std::log(1) << '\n'
              << "логарифм 125 по основанию 5 равен " << std::log(125)/std::log(5) << '\n';
    // граничные случаи
    std::cout << "log(1) = " << std::log(1) << '\n'
              << "log(+Inf) = " << std::log(INFINITY) << '\n';
    // обработка ошибок
    errno=0; std::feclearexcept(FE_ALL_EXCEPT);
    std::cout << "log(0) = " << std::log(0) << '\n';
    if(errno == ERANGE)
        std::cout << "    errno == ERANGE: " << std::strerror(errno) << '\n';
    if(std::fetestexcept(FE_DIVBYZERO))
        std::cout << "    FE_DIVBYZERO raised\n";
}

Возможный вывод:

log(1) = 0
логарифм 125 по основанию 5 равен 3
log(1) = 0
log(+Inf) = inf
log(0) = -inf
    errno == ERANGE: Numerical result out of range
    FE_DIVBYZERO raised

[править] См. также

вычисляет общие (базовые 10) логарифм (log10(x))
Оригинал:
computes common (base 10) logarithm (log10(x))
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
(C++11)
логарифм по основанию 2 из заданного числа
Оригинал:
base 2 logarithm of the given number
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
(C++11)
натуральный логарифм (на базе е) 1 плюс заданное число
Оригинал:
natural logarithm (to base e) of 1 plus the given number
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
возвращает е в данной степени (ex)
(функция) [править]
Комплекс натуральный логарифм с разрезов вдоль отрицательной действительной оси
Оригинал:
complex natural logarithm with the branch cuts along the negative real axis
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [править]
применяет функцию std::log к каждому элементу valarray
Оригинал:
applies the function std::log to each element of valarray
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [править]