Namespaces
Variants

roundeven, roundevenf, roundevenl

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
(C99) (C99) (C99)
roundeven
(C23)
(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 roundevenf ( float arg ) ;
(1) (depuis C23)
double roundeven ( double arg ) ;
(2) (depuis C23)
long double roundevenl ( long double arg ) ;
(3) (depuis C23)
Défini dans l'en-tête <tgmath.h>
#define roundeven( arg )
(4) (depuis C23)
1-3) Calcule la valeur entière la plus proche de arg (au format virgule flottante), en arrondissant les cas à mi-chemin vers l'entier pair le plus proche, indépendamment du mode d'arrondi actuel.
4) Macro générique de type : Si arg a le type long double , roundevenl est appelé. Sinon, si arg a un type entier ou le type double , roundeven est appelé. Sinon, roundevenf est appelé, respectivement.

Table des matières

Paramètres

arg - valeur à virgule flottante

Valeur de retour

Si aucune erreur ne se produit, la valeur entière la plus proche de arg , en arrondissant les cas à mi-chemin à l'entier pair le plus proche, est renvoyée.

Gestion des erreurs

Cette fonction n'est soumise à aucune des erreurs spécifiées dans math_errhandling .

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

  • FE_INEXACT n'est jamais déclenché.
  • Si arg est ±∞, il est retourné, non modifié.
  • Si arg est ±0, il est retourné, non modifié.
  • Si arg est NaN, NaN est retourné.

Exemple

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

Sortie possible :

roundeven(+2.4) = +2.0
roundeven(-2.4) = -2.0
roundeven(+2.5) = +2.0
roundeven(-2.5) = -2.0
roundeven(+2.6) = +3.0
roundeven(-2.6) = -3.0
roundeven(+3.5) = +4.0
roundeven(-3.5) = -4.0
roundeven(-0.0) = -0.0
roundeven(-Inf) = -inf

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.12.9.8 Les fonctions roundeven (p : 265-266)
  • 7.27 Mathématiques génériques de type <tgmath.h> (p : 386-390)
  • F.10.6.8 Les fonctions roundeven (p : 532)

Voir aussi

(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)
(C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99)
arrondit à l'entier le plus proche, en arrondissant à l'opposé de zéro dans les cas médians
(fonction)