使用&与运算替代%取模运算

在单片机里面,除法运算是非常消耗CPU资源的,并且还得添加除法库,太浪费flash了。
我们可以让长度, len = 2的n次方,比如2、4、8、16、32。
这时候模的运算,就可以变成与的操作:

len = 8;
w % 8 就是 w & (8-1)

↑二进制的妙用

假设

w=8

情况1:

w(8)%8=0

情况2:

8               &           (8-1)         =0

1000         &            0111

↑所以对应了为什么len要2的n次方


版权声明:本文为weixin_51089092原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。