2015-11-20 4 views
5

私は次のコードを理解するいくつかの問題があります。ダブル比較 - 数値の限界

double a = -1000; 
double b = numeric_limits<double>::min(); 

if (a < b) 
{ 
    cout << "why?"; 
} 

を、出力は次のとおりです。

なぜですか?

-1000numeric_limits<double>::min()よりも低くなる可能性がありますか?

+4

http://en.cppreference.com/w/cpp/types/numeric_limits/minここで 'min()'とは対照的に 'lowest'という言葉に気付きました。 – JSF

答えて

9

numeric_limits<double>::min();は、負の数値ではなく、倍精度浮動小数点精度で表現可能な最小の正数です。