Maison > développement back-end > C++ > Comment obtenir un résultat à virgule flottante à partir d'une division entière en C sans modifier les variables entières ?

Comment obtenir un résultat à virgule flottante à partir d'une division entière en C sans modifier les variables entières ?

DDD
Libérer: 2024-11-19 18:47:02
original
971 Les gens l'ont consulté

How do we obtain a floating-point result from integer division in C   without altering the integer variables?

Précision à virgule flottante dans une division entière

En C, la division entière arrondit souvent le résultat à l'entier le plus proche. Cependant, certaines opérations nécessitent une précision fractionnaire. Comment pouvons-nous obtenir un résultat à virgule flottante sans modifier les variables entières ?

Considérez le code C suivant :

int a = 10, b = 3;
float ans = (a / b);
Copier après la connexion

Malgré le formatage à virgule flottante, l'expression a / b tronque le résultat à 3.

La solution réside dans le transtypage des opérandes en floats :

float ans = (float)a / (float)b;
Copier après la connexion

En convertissant les entiers en flottants avant la division, le résultat conserve la précision en virgule flottante, comme le démontre le résultat suivant :

3.333
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal