java 的 移位运算, 实现 乘法与除法
2019-07-14 本文已影响8人
7e86aaa7b08a
在实际 开发中,其实很少 使用 移位运算。
特别是 还用 移位运算 实现 高性能的 乘法与除法。
虽然知道,但是还是有点蒙,或者说 不知道应该怎么用
除法 >>

看移位的值了 ,比如 a >>2 也就是 将 a 除2 再 除2 , 也就是 a 除以4 的商。 也就是 2的 2次方。
同理 乘法也是差不多
乘法 <<
a<<=1;// 向高位移动一位,相当于乘以 2 的1次方
使用
比如说 求 a/2 的 商
或者说是 乘数或者除数 是固定值
总结
其实没必要使用,因为比较难看,而且难理解。因为 就算不适用移位运算, 使用 普通简单的乘除。
最终 编译器也会对代码进行优化的。不需要担心性能问题。