什么是mod运算符的替换?

时间:2014-05-19 05:55:17

标签: c

我有一个代码段,需要剩余的两个整数。我像往常一样使用模数运算符,但我听说它需要更多时间。所以我问有没有办法比mod操作更有效地获得余数...... 以下将是我的代码

int rem=gid%bpp

gid为任何int,bpp为2,4,8,16,32。

1 个答案:

答案 0 :(得分:3)

从您的问题看来bpp始终是2的幂,在这种情况下您可以使用:

int rem = gid & (bpp - 1);

但是你不应该过早地进行优化 - 除非你已经分析并确定这个mod操作是一个瓶颈,那么你应该把它保留在原来的,更易读的形式。