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