在做一些题目时,常常会对各种数据类型的取值范围感到困惑,这里做一个总结。
测试代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include "iostream" #include "climits" #include "cfloat" using namespace std ;int main (int argc, char const *argv[]) { cout << "Range of all kinds of data types: " << endl ; cout << "char: (" << CHAR_MAX << ", " << CHAR_MIN << ")" << endl ; cout << "short: (" << SHRT_MIN << ", " << SHRT_MAX << ")" << endl ; cout << "int: (" << INT_MIN << ", " << INT_MAX << ")" << endl ; cout << "long: (" << LONG_MIN << ", " << LONG_MAX << ")" << endl ; cout << "float: (" << FLT_MIN << ", " << FLT_MAX << ")" << endl ; cout << "double: (" << DBL_MAX << ", " << DBL_MIN << ")" << endl ; cout << "Bits per BYTE: " << CHAR_BIT << endl ; return 0 ; }
运行结果 1 2 3 4 5 6 7 8 Range of all kinds of data types: char : (127 , -128 )short : (-32768 , 32767 )int : (-2147483648 , 2147483647 )long : (-2147483648 , 2147483647 )float : (1.17549e-038 , 3.40282e+038 )double : (1.79769e+308 , 2.22507e-308 )Bits per BYTE: 8
值得注意的是,对于本机器和编译器而言,int和long型的数据拥有相同的取值范围。
附录:《climits》符号常量一览表 @“climit”
转载请注明来源:©Tinshine