java 位运算
移位运算一般用来取某几个指定位上的值,或快速实现乘以或除以2^n的运算。
比如2<<1,就是把00000010变成了00000100,2变成了4,相当于乘了2;
60>>2,就是把00111100变成了00001111,60变成了15,相当于除以4。
8>>>1,8的二进制是00001000,符号位即最高位是0,所以用0填充,00001000变成00000001,得到1,相当于除以8。
1.负数的位运算是对负数补码进行操作。
2.如果位移位数超过32,那么将会对位移位数取32的模来进行运算,例如:
32>>34 和32>>2相同;32>>78和32>>14相同。
3.位移运算对64位和32位起作用,如果不足32位,将首先不足32位之后再进行运算