ceil, ceilf, ceill

Calculates the ceiling of a value.


double ceil(
   double x
float ceil(
   float x
);  // C++ only
long double ceil(
   long double x
);  // C++ only
float ceilf(
   float x
long double ceill(
   long double x
#define ceil(X) // Requires C11 or higher


Floating-point value.

Return value

The ceil functions return a floating-point value that represents the smallest integer that is greater than or equal to x. There's no error return.

Input SEH exception _matherr exception
± QNaN, IND none _DOMAIN

ceil has an implementation that uses Streaming SIMD Extensions 2 (SSE2). For information and restrictions about using the SSE2 implementation, see _set_SSE2_enable.


Because C++ allows overloading, you can call overloads of ceil that take float or long double types. In a C program, unless you're using the <tgmath.h> macro to call this function, ceil always takes and returns a double.

If you use the <tgmath.h> ceil() macro, the type of the argument determines which version of the function is selected. See Type-generic math for details.

By default, this function's global state is scoped to the application. To change this state, see Global state in the CRT.


Routine Required header
ceil, ceilf, ceill <math.h>
ceil macro <tgmath.h>

For more compatibility information, see Compatibility.


See the example for floor.

See also

Math and floating-point support
floor, floorf, floorl
fmod, fmodf
round, roundf, roundl