#include <stdio.h>
#include <stdlib.h>
int fun(int x)
{
int countx = 0;
while (x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
int main()
{
int tmp;
printf("0x%x, %d\n", 9999, fun(9999));
return 0;
}
主要是统计其中1的个数;
其中0b1000 - 1 = 0b0111,正好是原数取反;

有误请反馈 qq:10374409051