Moi aussi, je pensais cela, mais ça ne semble pas être le cas.Je pense que tous les intervenants savent de quoi il en retourne avec les problèmes de représentation des floats.
Un long double a une précision de 19 chiffres significatifs, quelque soit la position de la virgule. La représentation est une chose, sans grand intérêt, qui va s'amuser à afficher un nombre d'une quinzaine de chiffres? Parcontre, ce qui est important, ce sont les calculs. Je pense même que tout essai de démonstration avec des impressions est sans valeur, parce que les fonctions printf ou cout sont passées par là. La seule vérification valable est du typeUn long double n'a qu'une précision de 7 chiffres après la virgule.
Si on ajoute 0.01 à cette valeur : 0.0034561 on obtient 0.1334561 et non
0.0034562 pour obtenir cette dernière il faudrait faire cela : 0.0000001 et le tour est joué.
if( ...) on imprime BON
else on imprime FAUX.
Partager