Maison > développement back-end > C++ > Comment éviter la troncature d'entiers dans la division C Float ?

Comment éviter la troncature d'entiers dans la division C Float ?

DDD
Libérer: 2024-11-11 21:06:03
original
1041 Les gens l'ont consulté

How to Avoid Integer Truncation in C   Float Division?

Comment produire un résultat flottant à partir d'une division entière

En C, la division entière tronque le résultat, même lorsque la sortie est affectée à un variable flottante. Pour éviter cette troncature, les opérandes doivent être explicitement convertis en flottants :

float ans = (float)a / (float)b;
Copier après la connexion

Dans ce code :

  • a et b sont des entiers, et ans est un flottant.
  • L'expression (a / b) effectue une division entière, et le résultat est tronqué à un entier (3).
  • Le cast (float)a convertit a en float (10.0).
  • Le cast (float)b convertit b en float (3.0).
  • L'expression ((float)a / (float)b) effectue une division en virgule flottante, produisant un résultat float (3.000).
  • Ceci le résultat est ensuite attribué à ans.

En convertissant les opérandes en flotteurs, la sortie de la division est conservée sous forme de flotteur, ce qui donne la précision souhaitée :

3
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