Bonjour,
J'effectue sur un int que je cast implicitement en double une opération mathématique, lorsque je print le résultat, tout se passe bien entre 1 et 9, mais si je lui envoie une valeur n >= 10 j'obtiens des résultats étranges comme par exemple "3.6288e+06" sur 10 au lieu de "3 628 800", je ne comprends pas pourquoi... Voici le code:
Merci pour vos indications !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int f(int n) { double r = n; for (int i = 1; i < n ; i++) r = r * (n - i); std::cout << "operation sur: " << n << " = " << r << std::endl; r = round(r); return (static_cast<int>(r));
Partager