左移和右移运算符
在计算机中,所有的数据都是由二进制的方式来储存。
例如
二进制 十进制
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
左移运算符 << 就是把数字位往左移
右移运算符 << 就是把数字位往右移
System.out.println(2<<3);
System.out.println(16>>2);
System.out.println(3<<2);
运算结果:
16
4
12
2<<3 就是 0000 0010 中的1往左移动3位 得 0001 0000
16>>2 就是 0001 0000 中的1往右移动2位 得 0000 0100
3<<2 就是 0000 0011 中的11往左移动2位 得 0000 1100
诀窍:
左移<<就是乘以(2的移动的位数次幂)
右移>>就是除以(2的移动的位数次幂)