2015-11-20 5 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()' के विपरीत 'न्यूनतम' का उल्लेख नोटिस करें – JSF

उत्तर

9

ऐसा इसलिए है क्योंकि numeric_limits<double>::min(); डबल फ्लोटिंग-पॉइंट परिशुद्धता में स्पष्ट सबसे कम सकारात्मक संख्या है, न कि सबसे नकारात्मक संख्या।

संबंधित मुद्दे