Maison >développement back-end >C++ >Comment obtenir un résultat flottant lors de la division d'entiers en C ?

Comment obtenir un résultat flottant lors de la division d'entiers en C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 22:56:02807parcourir

How to Get a Float Result When Dividing Integers in C  ?

Perte de précision dans une division entière : obtenir un résultat flottant

Dans les situations où les entiers sont divisés et qu'un résultat à virgule flottante est souhaité, C peut tronquer la sortie, entraînant une perte de données. Pour résoudre ce problème, il est crucial de comprendre le principe de la division entière en C et de mettre en œuvre une méthode pour forcer une opération à virgule flottante.

Lors de la division de deux entiers, C effectue une division entière, ce qui signifie un nombre entier. résultat. Ce comportement persiste même lors de l'affectation du résultat à une variable float. Pour obtenir un résultat en virgule flottante, il est indispensable de convertir les opérandes en float avant d'effectuer la division.

La solution consiste à modifier le code comme suit :

float ans = (float)a / (float)b;

En lançant les deux opérandes pour flotter, nous nous assurons que l'opération de division est effectuée comme une opération à virgule flottante, ce qui donne un résultat flottant. La réponse calculée est ensuite stockée dans la variable ans.

L'extrait de code modifié est présenté ci-dessous :

#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;  // Integer division
  cout << ans << endl;      // Float division
  return 0;
}

Avec cette modification, la sortie affichera désormais correctement le résultat float lors de l'utilisation de ans .

En comprenant le comportement de la division entière et en implémentant la solution de conversion, les programmeurs peuvent obtenir efficacement des résultats en virgule flottante dans de telles situations, garantissant ainsi des calculs précis et le résultat souhaité. valeurs.

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