c++-求输出结果

2023-03-03 19:24:49 浏览数 (1)

浏览量 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

0 人点赞