首页 > 编程知识 正文

怎么移动后可以用乘法解决,java位运算应用

时间:2023-05-05 21:32:46 阅读:18484 作者:3756

移位乘除

a=a*4;

b=b/4;

可以修改为:

a=a2;

b=b2;

说明:

除2=右移1位2=左移1位

除4=右移2位4=左移2位

除8=右移位3位8=左移位3位

.

通常,如果需要用2的n次方相乘或除法,可以用移位的方法代替。

大多数c编译器用移位法获得代码比调用乘除法子程序生成的代码更有效率。

实际上,只需乘以或除以整数,就可以通过以下移位方法获得结果:

a=a*9

由于分析a*9可以分割为a*(81 )即a*8 a*1,所以可以变更为a=) a3 ) a

a=a*7

分析a*7可以分割为a*(8-1)即a*8-a*1,因此可以变更为a=(a3 )-a

可以类推除法的读者,但省略了

posted on 2013-11-11 19:06 **阅读(244 )评论)0)编辑收藏

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。