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
Libérer: 2024-11-12 22:56:02
original
806 Les gens l'ont consulté

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;
Copier après la connexion

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;
}
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal