比如把2变成8
我们可以2*4
效率最高的方法是2<<2
因为2变成二进制是10.00
<<2就是小数点往右移两位
就变成了1000
十进制就是8
如果2<<3就就是16了
说白了,往左移一位>>1 就是除以2,往右移一位<<1就是乘以2
我自己都说晕了,建议不是高效率运算还是不要用的好,没那必要
1.>>
2.>>>
一个是带符号,一个是不带符号的。
比如说把一个数字扩大减小32倍,用移位运算符是最有效率的。
我遇到用位运算的情况就是hashcode、性能要求很高的运算。
要想弄明白,去看看二进制、二进制补码、模、符号扩展、零扩展。csdn发帖问问吧~~
几乎没有用,在高性能计算时可以替代×2和÷2的功能。
这个一般在做嵌入式(软偏硬)。用到的比较多。