1、將數右移
int NumberOf1(int num) { int count = 0; while (num) { if (num & 1 == 1) ++count; num >>= 1; } return count; }
2、將1左移
int NumberOf1(int num)
{
int count = 0;
unsigned int flag = 1;
while (flag)
{
if (num&flag)//num&flag==1錯誤
++count;
flag<<= 1;
}
return count;
}
3、創新操作
int NumberOf1(int num) { int count = 0; while (num) { ++count; num = (num - 1)# } return count; }