概念都是假,懂用才是真理。废话不多说,直接看例子。
a <<= 1 结果相当于 a 乘以 2的一次方
a >>= 1 结果相当于 a 除以 2的一次方
a <<= 2 结果相当于 a 乘以 2的二次方
a >>= 2 结果相当于 a 除以 2的二次方
.....
那么 , 推理
a <<= n 结果等价于, a 乘以 2的N次方
a >>= n 结果等价于, a 除以 2的N次方
如:
public static void main(String[] args) {
int result = 1;
int result2 = 65536;
int k = 8;
while((k--) >=1)
{
result <<= 2;
result2 >>= 2;
System.out.println("result="+result+"...result2="+result2);
System.out.println();
}
}
result=4...result2=32768
result=16...result2=16384
result=64...result2=8192
result=256...result2=4096
result=1024...result2=2048
result=4096...result2=1024
result=16384...result2=512
result=65536...result2=256