包含头文件limits.h
numeric_limits<类型>::max() 求某数据类型的最大值(min()则求最小值)
浮点数的最小值是能表示的最小正数
cout.setf( ios::showbase|ios::uppercase );
cout << "int min = " << numeric_limits<int>::min() << "---" << hex << numeric_limits<int>::min() << endl;
cout.unsetf( ios::hex );
cout << "int max = " << numeric_limits<int>::max() << "---" << hex << numeric_limits<int>::max() << endl;
cout << endl;
cout.unsetf( ios::hex );
cout << "lont int min = " << numeric_limits< long int>::min() << "---" << hex << numeric_limits<long int>::min() << endl;
cout.unsetf( ios::hex );
cout << "long int max = " << numeric_limits<long int>::max() << "---" << hex << numeric_limits<long int>::max() << endl;
cout << endl;
cout.unsetf( ios::hex );
cout << "short int min = " << numeric_limits<short int>::min() << "---" << hex
<< numeric_limits<short int>::min() << endl;
cout.unsetf( ios::hex );
cout << "short int max = " << numeric_limits<short int>::max() << "---" << hex
<< numeric_limits<short int>::max() << endl;
cout << endl;
cout.unsetf( ios::hex );
cout << "float min = " << numeric_limits<float>::min() << "---" << hex << numeric_limits<float>::min() << endl;
cout << "float max = " << numeric_limits<float>::max() << "---" << hex << numeric_limits<float>::max() << endl;
cout << endl;
cout << "double min = " << numeric_limits<double>::min() << "---" << hex << numeric_limits<double>::min() << endl;
cout << "double max = " << numeric_limits<double>::max() << "---" << hex << numeric_limits<double>::max() << endl;
cout << endl;
结果:
int min = -2147483648---0X80000000
int max = 2147483647---0X7FFFFFFF
lont int min = -2147483648---0X80000000
long int max = 2147483647---0X7FFFFFFF
short int min = -32768---0X8000
short int max = 32767---0X7FFF
float min = 1.17549E-38---1.17549E-38
float max = 3.40282E+38---3.40282E+38
double min = 2.22507E-308---2.22507E-308
double max = 1.79769E+308---1.79769E+308