27

问答题 27 /290

怎么判断一个数是二的倍数,怎么求一个数中有几个1,说一下你的思路并手写代码

参考答案

参考回答:

1、判断一个数是不是二的倍数,即判断该数二进制末位是不是0:

a % 2 == 0 或者a & 0x0001 == 0。


2、求一个数中1的位数,可以直接逐位除十取余判断:

int fun(long x)
{
int _count = 0;
while(x)
{
if(x % 10 == 1)
++_count;
x /= 10;
}
return _count;
}
int main()
{
cout << fun(123321) << endl;
return 0;
}