roundeven, roundevenf, roundevenl
From cppreference.net
Common mathematical functions
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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
Exécuter ce code
#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) |