Namespaces
Variants

ceil, ceilf, ceill

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
ceil
(C99) (C99) (C99)
(C99)

(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Défini dans l'en-tête <math.h>
float ceilf ( float arg ) ;
(1) (depuis C99)
double ceil ( double arg ) ;
(2)
long double ceill ( long double arg ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define ceil( arg )
(4) (depuis C99)
1-3) Calcule la plus petite valeur entière non inférieure à arg .
4) Macro générique de type : Si arg a le type long double , ceill est appelé. Sinon, si arg a un type entier ou le type double , ceil est appelé. Sinon, ceilf est appelé.

Table des matières

Paramètres

arg - valeur en virgule flottante

Valeur de retour

Si aucune erreur ne se produit, la plus petite valeur entière non inférieure à arg , c'est-à-dire ⌈arg⌉ , est renvoyée.

Valeur de retour
math-ceil.svg
Argument

Gestion des erreurs

Les erreurs sont signalées comme spécifié dans math_errhandling .

Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559) :

  • Le mode d'arrondi actuel n'a aucun effet.
  • Si arg est ±∞, il est retourné, non modifié.
  • Si arg est ±0, il est retourné, non modifié.
  • Si arg est NaN, NaN est retourné.

Notes

FE_INEXACT peut être (mais n'est pas obligatoirement) déclenchée lors de l'arrondi d'une valeur finie non entière.

Les plus grandes valeurs représentables en virgule flottante sont des entiers exacts dans tous les formats standard de virgule flottante, donc cette fonction ne provoque jamais de dépassement de capacité par elle-même ; cependant le résultat peut dépasser la capacité de tout type entier (y compris intmax_t ), lorsqu'il est stocké dans une variable entière.

Cette fonction (pour double argument) se comporte comme si (à l'exception de la liberté de ne pas lever FE_INEXACT ) implémentée par

#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); // ou nearbyint
    fesetround(save_round);
    return result;
}

Exemple

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("ceil(+2.4) = %+.1f\n", ceil(2.4));
    printf("ceil(-2.4) = %+.1f\n", ceil(-2.4));
    printf("ceil(-0.0) = %+.1f\n", ceil(-0.0));
    printf("ceil(-Inf) = %+f\n",   ceil(-INFINITY));
}

Sortie possible :

ceil(+2.4) = +3.0
ceil(-2.4) = -2.0
ceil(-0.0) = -0.0
ceil(-Inf) = -inf

Références

  • Norme C23 (ISO/IEC 9899:2024) :
  • 7.12.9.1 Les fonctions ceil (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.6.1 Les fonctions ceil (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.9.1 Les fonctions ceil (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.6.1 Les fonctions ceil (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.12.9.1 Les fonctions ceil (p: 251)
  • 7.25 Mathématiques génériques <tgmath.h> (p: 373-375)
  • F.10.6.1 Les fonctions ceil (p: 526)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.9.1 Les fonctions ceil (p : 231-232)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p : 335-337)
  • F.9.6.1 Les fonctions ceil (p : 462-463)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.5.6.1 La fonction ceil

Voir aussi

calcule le plus grand entier inférieur ou égal à la valeur donnée
(fonction)
(C99) (C99) (C99)
arrondit à l'entier le plus proche dont la magnitude n'est pas supérieure à la valeur donnée
(fonction)
(C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99)
arrondit à l'entier le plus proche, en s'éloignant de zéro pour les cas à mi-chemin
(fonction)
arrondit à un entier en utilisant le mode d'arrondi actuel
(fonction)
(C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99)
arrondit à un entier en utilisant le mode d'arrondi actuel avec
exception si le résultat diffère
(fonction)