一般来说,向左移动几位就乘以2的几次幂;但是,如果要左移的数化成二进制后的最高位不是0而是1时,前面的结论就不成立了,就要化成二进制后再运算了(去掉最高位的1,最低位补0)
右移(>>)一般来说,向右移动几位就除以2的几次幂;但是,如果要右移的数化成二进制后的最低位不是0而是1时,前面的结论就不成立了,就要化成二进制后再运算了(去掉最低位的1,最高位补0)
Java代码public static void main(String[] args) {
//向左移动几位就乘以2的几次幂
System.out.println(12 << 1);
System.out.println(12 << 2);
//向右移动几位就除以2的几次幂
System.out.println(12 >> 1);
System.out.println(12 >> 2);
System.out.println(12 >> 3);
}
运行结果



