【发布时间】:2023-03-23 07:39:02
【问题描述】:
我有一个代码段需要两个整数的余数。我像往常一样使用模数运算符,但我听说这需要更多时间。所以我问有没有什么方法可以比 mod 操作更有效地获得剩余部分...... 以下将是我的代码
int rem=gid%bpp
gid 是任何 int,bpp 是 2,4,8,16,32。
【问题讨论】:
标签: c
我有一个代码段需要两个整数的余数。我像往常一样使用模数运算符,但我听说这需要更多时间。所以我问有没有什么方法可以比 mod 操作更有效地获得剩余部分...... 以下将是我的代码
int rem=gid%bpp
gid 是任何 int,bpp 是 2,4,8,16,32。
【问题讨论】:
标签: c
从您的问题看来,bpp 始终是 2 的幂,在这种情况下您可以改用:
int rem = gid & (bpp - 1);
但是您不应该过早地进行优化 - 除非您已经分析并确定此 mod 操作是一个瓶颈,那么您应该将其保留为原始的、更易读的形式。
【讨论】: