我有一个代码,我在其中计算x%25.x总是取正值但其动态范围很大.
我发现这个计算轴%25的特殊代码片段需要大周期.我需要优化它.
由于表可能存在大的内存大小,因此排除了预先计算的查找表.
作为第二种方法,我在下面编码了一个片段(C代码) -
mod(a, b)
{
int r = a;
while(r >= b)
{
r = r - b;
}
return r;
}
Run Code Online (Sandbox Code Playgroud)
1.)如何针对周期进一步优化此代码(将其压缩到最大值)?
2.)是否有任何完全不同的优化方式来实现x%25(我知道它不是一个常见的操作,但仍然,寻找人们可能在他们的经验中使用的聪明输入,这可能会让我感到麻烦.).
谢谢.
-广告
编辑:
我认为在C中使用本机模运算符%,内部使用除法运算(/),这在我正在使用的处理器上是昂贵的.(没有div指令).因此,尝试查看自定义实现是否可以使用%运算符击败固有计算.
-广告