Maison >développement back-end >C++ >Comment obtenir un résultat flottant à partir d'une division entière en C ?

Comment obtenir un résultat flottant à partir d'une division entière en C ?

DDD
DDDoriginal
2024-11-25 17:37:14493parcourir

How to Get a Float Result from Integer Division in C  ?

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!

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