【发布时间】:2018-10-15 11:23:37
【问题描述】:
例如是这样
char x = '1';
占用的空间小于
int x = 1;
还是一样?
【问题讨论】:
-
如果您希望单个数字占用尽可能少的空间,您应该使用
byte数据类型。它占用的空间是char的一半。 -
在这里你能做的最好的就是一点点。单个位可以表示 0 或 1。您可以将其中的 32 个打包到
int
例如是这样
char x = '1';
占用的空间小于
int x = 1;
还是一样?
【问题讨论】:
byte 数据类型。它占用的空间是char 的一半。
int
char 占用 2 个字节,int 占用 4 个字节。
所以,是的。 char 占用的空间更少。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
【讨论】:
一个字符需要 16 位。 一个 int 需要 32 位。
【讨论】:
Char 将字符常量存储在内存中。它假定大小为2 bytes,但基本上它只能容纳一个字符,因为 char 存储 unicode 字符集。它的最小值为‘u0000’(或0),最大值为‘uffff’(或65,535,含)。但整数为4 bytes。
其他原始类型的范围和大小;
Type Size Range of values that can be stored
byte 1 byte −128 to 127
short 2 bytes −32768 to 32767
int 4 bytes −2,147,483,648 to 2,147,483,647
long 8 bytes 9,223,372,036,854,775,808 to9,223,372,036,854,755,807
float 4 bytes 3.4e−038 to 3.4e+038
double 8 bytes 1.7e−308 to 1.7e+038
【讨论】:
在Integer和Character类中,有一个SIZE字段,表示使用空间(位)。整数使用 32 位,字符使用 16 位。
【讨论】: