前端之家收集整理的这篇文章主要介绍了
在C中使用%操作符和/运算符的替代方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
被告知模数运算符“%”和除法运算符“/”在嵌入式C中效率很低.
我如何替代地实现以下表达式:
a = b % c;
我明白这可以使用以下逻辑来实现:
a = b - c;
while (a >= c) {
a = a - c;
}
但我的问题是,这个代码涉及while循环有效性足够,与%运算符相比?
谢谢,
基尔提
没有什么比%运算符更有效率.如果有更好的
方法来做,那么任何合理的编译器都会
自动将其转换.当你被告知%和/低效率的时候,这只是因为这些操作很困难 – 如果你需要执行模数,那么这样做.
有更好的方法可能会有特殊情况 – 例如,mod一个二进制数可以写成二进制或 – 但是这些可能是您的编译器优化的.
原文链接:https://www.f2er.com/c/112276.html