我们第一想法肯定是直接乘除,但显然这不是面试官想要的答案。这是就用到了我们所学的位运算符:
<<(左移):
计算乘法
>>(右移):
计算除法
代码演示:
1.左移算法:位移数作为2的次幂与操作数相乘: 例计算8*4
public static void main(String[] args) { // 8 * 4 ,4为2的2次方,故左移两位 System.out.println(8 << 2);// 32 }
2.右移算法:操作数除以位移数的二次幂: 例计算8/4:
public static void main(String[] args) { // 8 / 4 ,4为2的2次方,故右移两位 System.out.println(8 >> 2);// 2 }