2015-11-20 12 views
5

mam pewne problemy ze zrozumieniem poniższy kod:Pokój porównanie - limity liczbowe

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

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

a wyjście jest:

dlaczego?

W jaki sposób -1000 może być niższy niż numeric_limits<double>::min()?

+4

http://pl.cppreference.com/w/cpp/types/numeric_limits/min zauważenie wzmianki o "najniższym" tam w przeciwieństwie do 'min()' – JSF

Odpowiedz

9

Jest tak, ponieważ numeric_limits<double>::min(); jest najniższą dodatnią liczbą wyrażaną w podwójnej precyzji zmiennoprzecinkowej, a nie liczbą najbardziej ujemną.