移位操作符基本对象就是位了,所以可操作的就是基本数据类型中的整数类型了。
下面介绍三种移位操作符
<< 左移操作符 按照位数向左移动,低位补0
int a =2;
a<<=1;
System.out.println(a); 这个结果相当于乘以2
>>右移操作符 同左 相当于除以2 需要注意的是他是有符号 为正 高位插0 为负 高位插1
举一个负的例子
int a =-2;
a>>=1;
System.out.println(a); 那么他的结果就是-1了
其实简单来说,如果想看的更真切需要 输出时 使用 Integer.toBinaryString 方法 输出出来就是2进制了
还有关于左右移位分不清的同学来说,那么看 << 这个 尖所对应的就是了 这个是左移
>>>这个右移 无论正负 直接在高位补0 就行
int b = -1;
int a =-1;
a>>>=10;
System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a));
b的输出 11111111111111111111111111111111
a的输出 1111111111111111111111