2016-05-02 7 views
0
bool func(double &u, double &v){ 
    . 
    . 
    . 
    if((u+v) <= 1.0) 
     return false; 
    cout <<"u: " << u << " v: " << v << endl; 
    return true; 
} 

私はこのような機能を持っています。 出力は次のとおりです。ダブルスの合計のC++の結果が間違っています

u: 0.914812 v: 0.0851877 

彼らの合計は次のとおりです。0.9999997。しかし、プログラムはif文には入りません。真を返します。どうして?

+0

あなたはその質問のリンクを送ることができますか? – user3817833

+0

[私のための作品](http://ideone.com/96oQ8D) –

+0

示された値は四捨五入されていますが、おそらく1を超える合計をもたらすいくつかの数字があります –

答えて

2

0.914812499999999と0.0851877499999999を考えてください。おそらくそれらの数字はあなたが思うものではありません。より正確にそれらを印刷してください

関連する問題