Conversion d'entiers en flottants pour une division précise
En C, la division de deux entiers, comme dans a/b, donne un quotient entier . Pour obtenir un résultat flottant, il faut spécifiquement convertir les opérandes en flottants.
Énoncé du problème :
Lors de l'utilisation d'opérandes entiers dans une opération de division, le résultat est tronqué en un entier. Comment peut-on éviter cela et maintenir l'intégrité des nombres ?
Solution :
Pour remédier à ce problème et garantir un résultat flottant, convertissez les opérandes en flottants :
float ans = (float)a / (float)b;
En convertissant explicitement les opérandes en flottants, l'opération de division produira un résultat flottant, en préservant toute décimale précision.
Exemple :
Considérez le code suivant :
#include <iostream> #include <iomanip> using namespace std; int main() { int a = 10, b = 3; float ans = (float)a / (float)b; cout << fixed << setprecision(3); cout << (a/b) << endl; cout << ans << endl; return 0; }
Sortie :
3 3.333
Comme vu ci-dessus , le moulage assure un résultat flottant, en conservant la précision décimale correcte.
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!