浏览量 1
代码语言:javascript复制#include<iostream>
using namespace std;
int main()
{
int x=9999,count=0;
while(x)
{
x=x&(x-1);
count ;
}
cout<<count<<endl;
return 0;
}
此题有两种解法: 第一种解法: 将x=9999转换为二进制,转换的时候,计算比较麻烦一点,但是只要认真的转化,然后再进行一步一步按位相与,是可以解出来的。起初看到这题的时候,一般会想到用此种方法解答。 第二种解法: 将x=9999用8421bcd码表示出来,就是把每一位用四位二进制数表示出来,再进行按位相与。此法转换比较简单,前提是你得知道如何转换。 结果count的值为8