基本的数据类型(Java/C++)

本科时候用C++说oj上面的题目比较多, 从c++到java感觉二则语言上还是有所不同的,作为基础中的基础在此总结一下。
Java的八种基本数据类型的大小,以及他们的封装类是什么?
1。Java的基本数据类型
Java的基本数据类型
2。数据类型之间的转换
数据类型之间的转换
3。基本数据类型对应的包装类
基本数据类型对应的包装类
4。数据类型对应的默认值
数据类型对应的默认值
5。C++的数据类型:
这里写图片描述
关于这个基本的问题,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。
所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):

1。sizeof(short int)<=sizeof(int)
2。sizeof(int)<=sizeof(long int)
3。short int至少应为16位(2字节)
4。long int至少应为32位。

下面给出不同位数编译器下的基本数据类型所占的字节数:

16位编译器

char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节

32位编译器

char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
unsigned long: 4个字节
long long: 8个字节

64位编译器

char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
unsigned long: 8个字节
long long: 8个字节

参考链接:http://blog.csdn.net/qq_22063697/article/details/52096778?utm_source=tuicool&utm_medium=referral


版权声明:本文为wangwenhao00原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。