如何计算变量中有多少个零位? 我必须使用像 thist BITCOUNT(x,c) 这样的宏,其中 x 是我的变量,c 是 x 中零位的计数
示例:X = 00101001 和 C = 5
最佳答案
一个简单的解决方案:
#include <limits.h>
#define BITCOUNT(x,c) \
{ \
int i; \
(c) = 0; \
for ( i = 0; i < CHAR_BIT * sizeof(x); i++ ) \
(c) += ( (x) & ( 1 << i ) ) == 0; \
}
关于c - C 中的 BITCOUNT 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16628036/