java中整型的存储

首先是整形的大体信息

类型 存储需求 取值范围
int 4字节 -2^31 ~ 2^31-1
short 2字节 -2^15 ~ 2^15-1
long 8字节 -2^63 ~ 2^63-1
byte 1字节 -2^7 ~ 2^7-1

就byte来讲,byte使用1字节(即8位来存储),取最高位为符号位,正数为0,负数为1。剩余7位可以用来表示数值。

但要注意0和负数的表示。

0 000 0000

1 000 0000

以上两个二进制存储在数值位上都是0,符号分别为0和1。但并不是两个数都是0。实际上,真正的0的表示是第一种,第二种被定义为-1,是负数的开始。所以我们能看见byte在正数的表示上最大能为127,而负数最小能为-128的原因。至于正数和负数的运算问题,则需要了解反码和补码的知识。

二进制表示 十进制表示
0 111 1111 127
0 010 1100 44
0 000 0000 0
1 000 0000 -1
1 001 0110 -23
1 111 1111 -128
上一篇:P1980 [NOIP2013 普及组] 计数问题


下一篇:磁盘/内存/CPU缓存性能比较