Arrondir les nombres à virgule flottante en C avec round()
En l'absence de fonction round() dédiée dans la bibliothèque C standard , les développeurs ont souvent recours à d'autres fonctions comme ceil() ou floor(). Cependant, pour un contrôle de précision, une fonction d'arrondi spécifique est souvent requise.
Implémentation d'une fonction round() personnalisée
La fonction round() arrondit un nombre à virgule flottante basé sur la règle « arrondi à moitié », où les nombres exactement à mi-chemin entre les nombres entiers sont arrondis. Le code C suivant fournit une implémentation de cette fonction :
double round(double d) { return floor(d + 0.5); }
Cette implémentation ajoute essentiellement 0,5 au nombre et tronque le résultat à l'entier le plus proche à l'aide de la fonction floor().
Autres méthodes d'arrondi
Bien que la règle « arrondi à moitié » soit couramment utilisée, il existe d'autres méthodes d'arrondi. méthodes, notamment :
Les implémentations de ces méthodes peuvent être trouvées en ligne ou créées sur mesure en fonction de critères spécifiques. exigences.
Remarque :
La norme C 11 a introduit Fonctions round() intégrées (std::round, std::lround et std::llround) qui fournissent des fonctionnalités similaires, rendant une implémentation personnalisée inutile pour les compilateurs modernes et les bibliothèques standard.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!