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