Maison  >  Article  >  développement back-end  >  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
DDDoriginal
2024-11-19 18:47:02892parcourir

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);

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;

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

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:
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