1

有没有不使用 % 运算符(在 C++ 中)的快速方法来查找 32 位整数是否是 4 的倍数?

4

1 回答 1

22

就在这里。

((i & 3) == 0)

请注意,这可能不会更快。无论如何,一个好的优化编译器会将您的模数与常量 4 转换为最快的操作,因此它很可能会自动生成它。

如果您有兴趣,请检查生成的代码。

于 2012-07-11T15:45:46.310 回答