49 votes

Exception à virgule flottante C++ Pourquoi et qu’est-ce que c’est ?

Je construis un programme pour la question 3 des projets Euler, et bien que cela n’ait pas vraiment d’importance en conséquence, j’essaie actuellement de faire en sorte que ce code prenne un nombre et teste s’il est premier ou non. Maintenant, avant de pouvoir dépanner la fonction, il me donne l’erreur « exception à virgule flottante » juste après avoir entré le numéro. Voici le code :

alors, essentiellement, pourquoi me donne-t-il une exception à virgule flottante et qu’est-ce que cela signifie même?

51voto

Crashworks Points 22920

Un «nombre à virgule flottante» est la façon dont les ordinateurs représentent généralement des nombres qui ne sont pas des entiers - fondamentalement, un nombre avec une virgule décimale. En C++, vous les déclarez avec au lieu de . Une exception à virgule flottante est une erreur qui se produit lorsque vous essayez de faire quelque chose d’impossible avec un nombre à virgule flottante, par exemple diviser par zéro.

44voto

FredOverflow Points 88201
<pre><code></code><p>est probablement faux et devrait l’être</p><pre><code></code></pre><p><strong>au milieu,</strong>pas au début.</p></pre>

14voto

Pete Points 4035

Beaucoup de raisons pour une exception à virgule flottante. En regardant votre code, votre boucle for semble être un peu « incorrecte ». On dirait une division possible par zéro.

C’est la division par zéro à un moment donné puisque vous décrémentez i.

9voto

Algoman Points 141

Puisque cette page est le résultat numéro 1 pour la recherche google « c++ floating point exception », je veux ajouter une autre chose qui peut causer un tel problème: l’utilisation de variables indéfinies.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X