std::floor, std::floorf, std::floorl
De cppreference.com
Definido en el archivo de encabezado <cmath>
|
||
float floor ( float arg ); |
(1) | (constexpr since C++23) |
float floorf( float arg ); |
(2) | (desde C++11) (constexpr since C++23) |
double floor ( double arg ); |
(3) | (constexpr since C++23) |
long double floor ( long double arg ); |
(4) | (constexpr since C++23) |
long double floorl( long double arg ); |
(5) | (desde C++11) (constexpr since C++23) |
double floor ( TipoEntero arg ); |
(6) | (desde C++11) (constexpr since C++23) |
1-5) Calcula el valor entero más grande no mayor que
arg
. 6) Un conjunto de sobrecargas o una plantilla de función que acepta un argumento de cualquier tipo entero. Equivalente a (3) (el argumento se convierte a double).
Contenido |
[editar] Parámetros
arg | - | Valor de punto flotante. |
[editar] Valor de retorno
Si no se producen errores, se devuelve el entero más grande no mayor que arg
, es decir, ⌊arg⌋.
Valor de retorno
Argumento
[editar] Manejo de errores
Los errores se informan como se especifica en math_errhandling.
Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559),
- El modo de redondeo actual no tiene efecto.
- Si
arg
es +∞, se devuelve +∞. - Si
arg
es -∞, se devuelve -∞. - Si
arg
es +0, se devuelve +0. - Si
arg
es -0, se devuelve -0. - Si
arg
es NaN, se devuelve NaN.
[editar] Notas
Se puede generar FE_INEXACT (pero no es obligatorio) al redondear un valor finito no entero.
Los valores de punto flotante representables más grandes son enteros exactos en todos los formatos de punto flotante estándar, por lo que esta función nunca se desborda por sí sola; sin embargo, el resultado puede desbordar cualquier tipo de entero (incluido std::intmax_t), cuando se almacena en una variable entera.
[editar] Ejemplo
Ejecuta este código
#include <cmath> #include <iostream> int main() { std::cout << std::fixed << "floor(+2.7) = " << std::floor(+2.7) << '\n' << "floor(-2.7) = " << std::floor(-2.7) << '\n' << "floor(-0.0) = " << std::floor(-0.0) << '\n' << "floor(-Inf) = " << std::floor(-INFINITY) << '\n'; }
Salida:
floor(+2.7) = 2.000000 floor(-2.7) = -3.000000 floor(-0.0) = -0.000000 floor(-Inf) = -inf
[editar] Véase también
(C++11)(C++11) |
Entero más cercano entero no menor que el valor dado. (función) |
(C++11)(C++11)(C++11) |
Entero más cercano no mayor en magnitud que el valor dado (función) |
(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11) |
Entero más cercano, redondeando alejándose de cero en los casos intermedios (función) |
Documentación de C para floor
|