单片机C语言rgb_flag=(rgb_flag+1)%6;与if(++rgb_flag>=6)rgb_flag=0?
发布网友
发布时间:2022-04-25 17:01
我来回答
共2个回答
热心网友
时间:2023-10-21 05:55
编程计算中,乘除法操作效率远远低于加减法操作。
rgb_flag=(rgb_flag+1)%6,这个有求模操作,实际就是除法操作,所以效率低。
热心网友
时间:2023-10-21 05:56
除以6取余数,这需要进行除法运算。
51单片机没有硬件除法器,所以你可以看到编译器调用了一个库函数 UIDIV 来进行软件模拟除法运算,效率会低很多。
而后一个语句仅仅是移位,直接转换成指定次数的循环移位语句即可。