Java整数占几个字节,以及负数的二进制示意方法,以及Java的逻辑运算符>>和>>>的区别
Java整数占几个字节,以及负数的二进制表示方法,以及Java的逻辑运算符>>和>>>的区别
00111111111111111111111111111111: -4>>>2 1073741823
Java整数占几个字节?
答:占4个字节,共32个比特位
1个字节占8个比特位(1B(byte)= 8 bit)
因此,类型和字节对应如下
byte 1
short 2
char 2
int 4
float 4
double 8
double 8
-----------------------------------------------------------------------以下是用System.out.println的SIZE输出-----------------------------------------------------------
Byte.SIZE
//8
Short.SIZE
//16
Character.SIZE//16
Integer.SIZE
//32
Float.SIZE);
//32
Double.SIZE
//64
Long.SIZE
//64
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
整型负数的二进制表示:
在计算机中,负数以其正值的补码形式表达
补码=反码加1,负数为正数的补码
比如 1:00000000000000000000000000000001
而 -1:11111111111111111111111111111111
最大值 :01111111111111111111111111111111 2147483647 2的31次方减一
最小值 :10000000000000000000000000000000 -2147483648 2的31次方
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Java的逻辑运算符>>和>>>的区别
>> 是无符号右移
>>>是带符号位右移
举例:
11111111111111111111111111111100: -4
11111111111111111111111111111111: -4>>2 -1
00111111111111111111111111111111: -4>>>2 1073741823