c - 解决 (A & N) + (B & N) + (C & N) 的有效方法

标签 c bit-manipulation

什么是有效的解决方法 (A & N) + (B & N) + (C & N) .. 等等。 其中 & 代表按位与操作。 A , B , C , N 都是正整数。 是否可以减少计算量。

最佳答案

如果您正在组合位掩码,那么您可能会得到您需要的:(A & N) | (B & N) |... 在这种情况下,使用 (A|B|C|...) & N 会做得更好。

注意 如果 N = 0x0020A = 0x003f, B=0x0a25 那么:

(A & N) + (B & N) = 0x0040 

但是

(A|B)&N = 0x0020

在组合位字段时更经常需要的是什么。

关于c - 解决 (A & N) + (B & N) + (C & N) 的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18426554/

相关文章:

c - 找到最大数量的最快和最有效的方法。可以通过对数组的 2 个 DISTINCT 元素执行按位和获得

c - C 中的范围值

c - _int64 位域

将数字字符串转换为以二进制表示的字节数组

c++ - 上限固定时的操作顺序

c++ - 具有整数提升的位运算

c - 如何将 C 字符串中的计数器变量赋予函数

c++ - C/C++ 中最常用和最灵活的 SMTP Client 库是什么?

php - PHP中的字符串是字符数组吗?

python - 如何使用 python 使用位移运算符找出以 2 为基数的数字的某个数字?