Différence bizarre d'un calcul avec variables intermédiares
Bonjour,
J' ai un phénomène très bizarre que j'explique pas, à vous de juger.
On a deux objets, Foo et Bar :
Code:
1 2 3 4 5 6 7 8 9 10 11
| class Foo
{
double getX()
{
return (m_X);
}
double getY()
{
return (m_Y);
}
}; |
Code:
1 2 3 4 5 6 7
| class Bar
{
double getValue()
{
return (m_value);
}
}; |
Maintenant, ce qu'il y a de bizarre, c'est qu'en faisait cela:
Code:
1 2
| result = (Foo.getX() - Bar.getValue()/2 + Foo.getY()/2)/Foo.getX();
// result = 0.17271511157289223814537137968728 |
Et cela:
Code:
1 2 3 4 5
| double x = Foo.getX();
double value = Bar.getValue();
double y = Foo.getY();
result = (x - value/2 + y/2)/x;
// result = 0.17271511157289287652361053915229 |
On obtient pas le même resultat comme vous pouvez le voir.
Code:
1 2
| // result = 0.17271511157289223814537137968728
// result = 0.17271511157289287652361053915229 |
Je ne comprends vraiment pas car les getters() ne font que renvoyer la valeurs et rien de plus.
Si quelqu'un à une explication, je suis preneur.
Merci de votre aide.