移位操作与除法

打印 上一主题 下一主题

主题 932|帖子 932|积分 2796

我一直都以为c中除以2的n次方可以使用右移n位代替,然而在实际调试中发现并不都是这样的。是在计算余数是发现了异常
被除数:114325068
右移15计算结果:3488
除法取整计算结果:3489
右移操作计算余数:33772
除法取整计算余数:1005
显然:这是不一样的。
移位操作是一条cpu指令,显然是比除法操作快的,特别是在Cortex-M0内核的处理器上是没有硬件除法器的;但实际编程中还是谨慎使用移位操作代替除法运算。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表