移位操作与除法

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

热门相关:佣兵之王都市行   楚汉争鼎   锦衣   奈何老公太宠我   1号婚令:早安,大总裁!