您的位置:首页 > 编程语言 > C语言/C++

【算法Ⅰ~Ⅳ(C++实现)】习题3.1 寻找int float double能表示的最大最小值

2013-01-12 21:42 477 查看
包含头文件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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐