各数据类型的大小

一、Java

各数据类型的字节数与操作系统的位数无关。

分类 数据类型 字节数 表示范围
整型 byte 1 【-128,127】,即【-27,27-1】
short 2 【-215,215-1】
int 4 【-231,231-1】
long 8 【-263,263-1】
浮点型 float 4  
double 8  
字符型 char 2  
布尔型 boolean 特殊  1 True/False

 

boolean a = true; // a 占4个字节boolean比较特殊:他理论上只占一个比特,即1/8字节。但实际上,他占1个或者4个字节。

boolean[] b = new boolean[10]; // b 的元素各占1个字节

注意:①Java中没有sizeof()。

   ②Java不允许用0代表false,这一点也与C不同。


 二、C/C++

sizeof()求字节数。

数据类型 32位系统 64位系统
char 1 1
short 2 2
int 4 4
float 4 4
long 4 8
long int 4 8
long long 8 8
double 8 8
long double 8 16

32位操作系统下,指向任意数据类型的指针,都是占4个字节。

64位操作系统下,指向任意数据类型的指针,都是占8个字节。

另外,32位和64位的定义在于:CPU一次处理数据的能力是32位还是64位,亦即最大寻址空间。

32位的最大寻址空间为2的32次方,也就是4G,也就是说32位系统的处理器最大只支持到4G内存。


 

posted @ 2017-08-23 14:01  zhengmengen  阅读(1626)  评论(0编辑  收藏  举报