比如
byte a=1;//1字节
short b=2;//2字节
int c=3;//4字节
long 和浮点就不说了
二进制这么表示的:
a:
00000001
b:
00000000 00000010
c:
00000000 00000000 00000000 00000011
高位就是最左边,低位就是最右边
java中运算时低于int4字节的数字自动提升为int类型进行运算
比如a+b,a就会变成 000000000000000000000001 +
000000000000000000000010
这叫隐式转换
回归正题
a<<2(左移2位)就变成
00000100
转换成十进制为4,
b>>1,高位补0,
00000000 00000001
就变成1 |