std::log, std::logf, std::logl
De cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
| Definido en el archivo de encabezado <cmath>
|
||
| (1) | ||
float log ( float arg ); |
||
float logf( float arg ); |
(desde C++11) | |
double log ( double arg ); |
(2) | |
| (3) | ||
long double log ( long double arg ); |
||
long double logl( long double arg ); |
(desde C++11) | |
double log ( IntegralType arg ); |
(4) | (desde C++11) |
1-3) Calcula el logaritmo natural (base e) de
arg.4) Un conjunto de sobrecargas o una plantilla de función que acepta un argumento de cualquier tipo entero. Equivalente a (2) (el argumento se convierte a
double).Parámetros
| arg | - | Valor de un tipo de punto flotante o un tipo entero. |
Valor de retorno
Si no se producen errores, se devuelve el logaritmo natural (base e) de arg (ln(arg) o log
e(arg)).
Si se produce un error de dominio, se deuelve un valor definido por la implementación (NaN donde se dé apoyo).
Si se produce un error de polo, se devuelve HUGE_VAL, -HUGE_VALF, o -HUGE_VALL.
Manejo de errores
Los errores se informan como se especifica en math_errhandling.
Los errores de dominio se producen si arg es menor que cero.
Los errores de polo se pueden producir si arg es cero.
Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559):
- Si el argumento es ±0, se devuelve -∞ y se genera FE_DIVBYZERO.
- Si el argumento es 1, se devuelve +0.
- Si el argumento es negativo, se devuelve NaN y se genera FE_INVALID.
- Si el argumento es +∞, se devuelve +∞.
- Si el argumento es NaN, se devuelve NaN.
Ejemplo
Ejecuta este código
#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'
<< "logaritmo base 5 de 125 = " << std::log(125)/std::log(5) << '\n';
// special values
std::cout << "log(1) = " << std::log(1) << '\n'
<< "log(+Inf) = " << std::log(INFINITY) << '\n';
// error handling
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 << " Se generó FE_DIVBYZERO\n";
}
Posible salida:
log(1) = 0
logaritmo base 5 de 125 = 3
log(1) = 0
log(+Inf) = inf
log(0) = -inf
errno == ERANGE: Resultado numérico fuera de rango
Se generó FE_DIVBYZERO
Véase también
(C++11)(C++11) |
Calcula el logaritmo común (base 10) (log10(x)) (función) |
(C++11)(C++11)(C++11) |
Logaritmo de base 2 del número dado (log2(x)) (función) |
(C++11)(C++11)(C++11) |
Logaritmo natural (a base e) de 1 más el número dado (ln(1+x)) (función) |
(C++11)(C++11) |
Devuelve e elevada a la potencia dada (ex) (función) |
| Logaritmo natural complejo con los cortes de ramificaciones a lo largo del eje real negativo. (plantilla de función) | |
se aplica la std::log función a cada elemento de valarray Original: applies the function std::log to each element of valarray The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Documentación de C para log
| |