前言:
很多同学纠结于数据的取值范围问题,事实上在我们的系统头文件中有专门表示各个数据类型取值范围的宏。
一、基本数据类型的分类
1、整形:
1)int、short int、long int、long long int
2)unsigned int、unsigned short int、unsigned long int、unsigned long long int
2、浮点型:float、double
3、字符型:char、unsigned char
4、布尔型:bool (只有两个值:true、false)
二、数据类型的取值范围
1、整形
头文件:#include <limits.h>
#include <iostream>
#include <limits.h>
using namespace std;
int main()
{//short int最大值和最小值cout<<SHRT_MIN<<" "<<SHRT_MAX<<endl;//unsigned short int 最大值(最小值为0)cout<<USHRT_MAX<<endl;//int 最小值和最大值cout<<INT_MIN<<" "<<INT_MAX<<endl;//unsigned int 最大值(最小值为0)cout<<UINT_MAX<<endl;//long int 最小值和最大值cout<<LONG_MIN<<" "<<LONG_MAX<<endl;//unsigned long int 最大值(最小值为0)cout<<ULONG_MAX<<endl;//long long int 最小值和最大值cout<<LLONG_MIN<<" "<<LLONG_MAX<<endl;//unsigned long long int 最大值(最小值为0)cout<<ULLONG_MAX<<endl;return 0;
}
输出
-32768 32767
65535
-2147483648 2147483647
4294967295
-9223372036854775808 9223372036854775807
18446744073709551615
-9223372036854775808 9223372036854775807
18446744073709551615
2、浮点型
头文件:#include <float.h>
#include <iostream>
#include <float.h>
using namespace std;
int main()
{//float 能取的最小值和最大值cout<<FLT_MIN<<" "<<FLT_MAX<<endl;//double 能取的最小值和最大值cout<<DBL_MIN<<" "<<DBL_MAX<<endl;return 0;
}
输出
1.17549e-38 3.40282e+38
2.22507e-308 1.79769e+308
3、字符型
头文件:#include <limits.h>
#include <iostream>
#include <limits.h>
using namespace std;int main()
{//char 能取得的最小值和最大值cout<<CHAR_MIN<<" "<<CHAR_MAX<<endl;//unsigned char 能取得的最大值(最小值为0)cout<<USHRT_MAX<<endl;return 0;
}
输出:
-128 127
65535
4、布尔类型只有两个值:true、false,我们通常用1和0来分别作为true和false的整形值。另外强调一下:在编程中,非0的值为真,0为假。
—<完>—