c/c++ 基本数据类型

基本的数据类型有:
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同理

猜你喜欢

转载自blog.csdn.net/qq_43341057/article/details/90262911