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
935 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!

source:php.cn
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