c++-求输出结果

2021-11-27 87 0

#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

相关文章

【转】C++-ADO编程详解
c-各变量在内存中的位置
c-变态跳台阶
C++-编写类String的构造函数、析构函数和赋值函数
c-计蒜客 排序好的数组删除重复数字
c-归并排序

发布评论