基本的数据类型有:
char ,int ,short (int) ,long (int) , long long (int) ,float ,double
int main()
{
cout<<"size:"<<endl;
cout<<" char: "<<sizeof(char)<<endl;
cout<<" short int: "<<sizeof(short int)<<endl;
cout<<" int: "<<sizeof(int)<<endl;
cout<<" long: "<<sizeof(long)<<endl;
cout<<" --------"<<endl;
cout<<" long long int: "<<sizeof(long long int)<<endl;
cout<<" int long long: "<<sizeof(int long long)<<endl;
cout<<" long long: "<<sizeof(long long)<<endl;
cout<<" -----三种写法相同"<<endl<<endl;
cout<<" float: "<<sizeof(float)<<endl;
cout<<" double: "<<sizeof(double)<<endl;
}
运行结果:
size:
char: 1
short int: 2
int: 4
long: 4
--------
long long int: 8
int long long: 8
long long: 8
-----三种写法相同
float: 4
double: 8
存储范围:
char // 存储一个字符
short (int) // -2^15~2^15-1
unsigned short (int) // 0~2^16-1
int // -2^31~2^31-1
unsigned int // 0~2^32-1
long // -2^31~2^31-1,
unsigned long // 0~2^32-1
long long (int) // -2^63~2^63-1
unsingned long long (int) // 0~2^64
float // 占32位,1位符号位(0或1),8位指数位,23位位数部分
double // 占64位,1位符号位(0或1),11位指数位,52位指数位
补充:
long long 型数据的范围
#include <iostream>
using namespace std;
int main()
{
long long k=1;//k的范围: -2^63~2^63-1
int i;
for(i=1; i<=65; i++)
{
cout<<2*k-1<<" "<<i<<endl;
if(i==63) cout<<"------2^63 = "<<2*k<<endl;
k *= 2;
}
}
下半部分运行结果:
1125899906842623 50
2251799813685247 51
4503599627370495 52
9007199254740991 53
18014398509481983 54
36028797018963967 55
72057594037927935 56
144115188075855871 57
288230376151711743 58
576460752303423487 59
1152921504606846975 60
2305843009213693951 61
4611686018427387903 62
9223372036854775807 63
------2^63 = -9223372036854775808
-1 64
-1 65
2^63-1 = 922 3372 0368 5477 5807
unsigned long long同理