Share via


floor, floorf, floorl

Calcula el límite inferior de un valor.

Sintaxis

double floor(
   double x
);
float floor(
   float x
); // C++ only
long double floor(
   long double x
); // C++ only
float floorf(
   float x
);
long double floorl(
   long double x
);
#define floor(X) // Requires C11 or higher

Parámetros

x
Valor de punto flotante.

Valor devuelto

Las funciones floor devuelven un valor de punto flotante que representa el entero más grande que sea menor o igual que x. No se devuelve ningún error.

Entrada Excepción SEH Excepción de _matherr
± QNaN, IND None _DOMAIN

floor tiene una implementación que usa las Extensiones SIMD de transmisión por secuencias 2 (SSE2). Para obtener información y las restricciones sobre el uso de la implementación de SSE2, vea _set_SSE2_enable.

Comentarios

Puesto que C++ permite las sobrecargas, es posible llamar a las sobrecargas de floor que toman y devuelven los valores float y long double. En un programa de C, a menos que use la <macro tgmath.h> para llamar a esta función, floor siempre toma y devuelve .double

Si usa la macro <tgmath.h>floor(), el tipo del argumento determina qué versión de la función se selecciona. Consulte Matemáticas de tipo genérico para obtener más información.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Función Encabezado necesario
floor, floorf, floorl <math.h>
floorMacro <tgmath.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_floor.c
// This example displays the largest integers
// less than or equal to the floating-point values 2.8
// and -2.8. It then shows the smallest integers greater
// than or equal to 2.8 and -2.8.

#include <math.h>
#include <stdio.h>

int main( void )
{
   double y;

   y = floor( 2.8 );
   printf( "The floor of 2.8 is %f\n", y );
   y = floor( -2.8 );
   printf( "The floor of -2.8 is %f\n", y );

   y = ceil( 2.8 );
   printf( "The ceil of 2.8 is %f\n", y );
   y = ceil( -2.8 );
   printf( "The ceil of -2.8 is %f\n", y );
}
The floor of 2.8 is 2.000000
The floor of -2.8 is -3.000000
The ceil of 2.8 is 3.000000
The ceil of -2.8 is -2.000000

Consulte también

Compatibilidad con matemáticas y punto flotante
ceil, ceilf, ceill
round, roundf, roundl
fmod, fmodf