Maison > développement back-end > C++ > Pourquoi une division entière de 3 par 5 donne-t-elle zéro ?

Pourquoi une division entière de 3 par 5 donne-t-elle zéro ?

Patricia Arquette
Libérer: 2024-12-01 14:41:09
original
207 Les gens l'ont consulté

Why Does Integer Division of 3 by 5 Result in Zero?

Problème de division entraînant zéro malgré le double stockage

Dans les opérations numériques, il est important de considérer les types d'opérandes impliqués. Lorsque vous travaillez avec des nombres à virgule flottante, une conversion de type explicite peut être nécessaire pour éviter des résultats inattendus.

Dans l'extrait de code fourni, l'opération de division entre 3 et 5 est effectuée à l'aide d'opérandes entiers, conduisant à une division entière. Cela donne zéro comme quotient. Pour obtenir la division en virgule flottante souhaitée, il est nécessaire de convertir explicitement au moins un des opérandes en type double. Le code corrigé est donné ci-dessous :

#include <iostream>

int main(int argc, char** argv) {
  double f = 3.0 / 5;
  std::cout << f;
  return 0;
}
Copier après la connexion

En convertissant 3 en double (3.0), le compilateur effectue une division en virgule flottante, ce qui donne la valeur non nulle attendue. Cela souligne l'importance de prêter attention aux types d'opérandes dans les opérations numériques pour obtenir des résultats précis.

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