前段时间遇到这个题,现在记录几个实现方法。
1,第一个最直观的方法,用一个二进制表示只有1个1的数字去测试整型数的各个位置是否为1:,直接上代码:
int bit_count_1(int num)
{
int flag = 0x1;
int count = 0;
for (int i = 0; i < 32; ++i)
{
if (0 != (num & flag))
{
++count;
}
flag = flag << 1;
}
return<