ceil, ceilf, ceill
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definido en el encabezado
<math.h>
|
||
|
float
ceilf
(
float
arg
)
;
|
(1) | (desde C99) |
|
double
ceil
(
double
arg
)
;
|
(2) | |
|
long
double
ceill
(
long
double
arg
)
;
|
(3) | (desde C99) |
|
Definido en el encabezado
<tgmath.h>
|
||
|
#define ceil( arg )
|
(4) | (desde C99) |
ceill
es llamado. De lo contrario, si
arg
tiene tipo entero o el tipo
double
,
ceil
es llamado. De lo contrario,
ceilf
es llamado.
Contenidos |
Parámetros
| arg | - | valor de punto flotante |
Valor de retorno
Si no ocurren errores, se devuelve el valor entero más pequeño no menor que arg , es decir ⌈arg⌉ .
Manejo de errores
Los errores se reportan como se especifica en
math_errhandling
.
Si la implementación soporta aritmética de punto flotante IEEE (IEC 60559):
- El modo de redondeo actual no tiene efecto .
- Si arg es ±∞, se devuelve sin modificaciones.
- Si arg es ±0, se devuelve sin modificaciones.
- Si arg es NaN, se devuelve NaN.
Notas
FE_INEXACT puede (pero no está obligado a) activarse al redondear un valor finito no entero.
Los valores de punto flotante más grandes representables son enteros exactos en todos los formatos estándar de punto flotante, por lo que esta función nunca desborda por sí misma; sin embargo, el resultado puede desbordar cualquier tipo entero (incluyendo intmax_t ), cuando se almacena en una variable entera.
Esta función (para double argumento) se comporta como si (excepto por la libertad de no generar FE_INEXACT ) implementada por
#include <fenv.h> #include <math.h> #pragma STDC FENV_ACCESS ON double ceil(double x) { double result; int save_round = fegetround(); fesetround(FE_UPWARD); result = rint(x); // o nearbyint fesetround(save_round); return result; }
Ejemplo
Salida posible:
ceil(+2.4) = +3.0 ceil(-2.4) = -2.0 ceil(-0.0) = -0.0 ceil(-Inf) = -inf
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.12.9.1 Las funciones ceil (p: TBD)
-
- 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: TBD)
-
- F.10.6.1 Las funciones ceil (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.12.9.1 Las funciones ceil (p: TBD)
-
- 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: TBD)
-
- F.10.6.1 Las funciones ceil (p: TBD)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.12.9.1 Las funciones ceil (p: 251)
-
- 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 373-375)
-
- F.10.6.1 Las funciones ceil (p: 526)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.12.9.1 Las funciones ceil (p: 231-232)
-
- 7.22 Matemáticas genéricas de tipo <tgmath.h> (p: 335-337)
-
- F.9.6.1 Las funciones ceil (p: 462-463)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 4.5.6.1 La función ceil
Véase también
|
(C99)
(C99)
|
calcula el entero más grande no mayor que el valor dado
(función) |
|
(C99)
(C99)
(C99)
|
redondea al entero más cercano no mayor en magnitud que el valor dado
(función) |
|
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
redondea al entero más cercano, redondeando alejándose de cero en casos intermedios
(función) |
|
(C99)
(C99)
(C99)
|
redondea a un entero usando el modo de redondeo actual
(función) |
|
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
redondea a un entero usando el modo de redondeo actual con
excepción si el resultado difiere (función) |
|
Documentación de C++
para
ceil
|
|