>> 右移 >>> 右移,左边空出的位以0填充
如果你将1移进高阶位(31或63位),那么该值将变为负值。
每次左移都可以使原来的操作数翻倍,程序员们经常使用这个办法来进行快速的2 的乘法。
每右移一次,就相当于将该值除以2并且舍弃了余数。右移时,被移走的最高位(最左边的位)由原来最高位的数字补充。
例如,如果要移 走的值为负数,每一次右移都在左边补1,如果要移走的值为正数,每一次右移都在左边补 0,这叫做符号位扩展(保留符号位)Java的无符号右移运算符>>>,它总是在左边补0。
~用最有效率的方法算出2 2 << 3, 乘以8等于几?
因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。