bonjour à tous
j'aimerais comprendre ceci (en mode de test j'ai fait des calculs en
dur pour tenter de comprendre ce qu'il se passe sur mes calculs):
j'ai ceci donc
je ne comprends pas pourquoi (titi==0.13055) me sort en false (=0!!!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 double titi = 0.00; titi = (double)(1/49.0) * 6.39693; // le cast n'est pas vraiment necessaire cout << titi << '?' << (titi==0.13055) << endl;
ça fait deux heures que je tente de comprendre où je fais mal les choses
en fait je fais ce test en dur car je me suis rendu compte que après dans
mon code lorsque je fais
titi - toto --> ceci me rend différent de 0 alors que toto vaut vraiment 0.13055 (comme titi mais titi a un comportement bizarre et c'est ça que je tente de comprendre)
si quelqu'un peut m'aider!!!
merci à tous!!!
en fait j'ai compris que titi vaut 0.13054959183673469387755102040816 c'est pour cela ; mais je ne comprends pas comment faire pour
que mon double ne soit pas tronqué!!!
existe-t-il un long double ou quelque chose du genre?
merci
Partager