C mod运算符的替换是什么?

C mod运算符的替换是什么?,c,C,我有一个代码段需要两个整数的剩余部分。我像往常一样使用模运算符,但我听说它需要更多的时间。所以我想问的是,有没有什么方法可以比mod操作更有效地得到余数。。。 下面是我的代码 int rem=gid%bpp gid为任意整数,bpp为2,4,8,16,32。从您的问题看来,bpp始终是2的幂,在这种情况下,您可以使用: int rem = gid & (bpp - 1); 然而,你不应该过早地进行优化——除非你已经分析并确定这个mod操作是一个瓶颈,那么你应该让它保持原来的、更可读的

我有一个代码段需要两个整数的剩余部分。我像往常一样使用模运算符,但我听说它需要更多的时间。所以我想问的是,有没有什么方法可以比mod操作更有效地得到余数。。。 下面是我的代码

int rem=gid%bpp

gid
为任意整数,
bpp
为2,4,8,16,32。

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

int rem = gid & (bpp - 1);
然而,你不应该过早地进行优化——除非你已经分析并确定这个mod操作是一个瓶颈,那么你应该让它保持原来的、更可读的形式