计算整数的二进制中包含1的数量

转载 2012年03月27日 22:25:24

        以前写的算整数的二进制中包含1的数的函数真是太弱了。。
      今天在书上看到的一个简单方法:

int fun(int x)
{
	int count = 0;
	while(x)
	{
		count++;
		x = x&(x-1);
	}
	return count;
}

int main()
{
	cout<<fun(9999)<<endl;	//9999:10011100001111
	return 0;
}

相关文章推荐

求整数的二进制形式中包含1的个数

1、题目输入一个整数,求该整数的二进制表示中1的个数,如输入9,二进制形式为1001,则1的个数为2。2、思路实现方式有多种,其中,采用位运算的方式效率较高,下面介绍3种位运算方式。3、代码3.1 将...

快速计算整数的二进制表示法中1的个数

快速计算整数的二进制表示法中1的个数 题目:给定一个无符号32位整数x,求x的二进制表示法中含1的个数?  第一种算法:  C代码   int On...

挑战面试编程:计算整数二进制位中1的个数

题目: 在计算机中,整数是以2的补码的形式给出的。 给出整数A和B,假设计算机是32位机,求从A到B之间的所有二进制数中,一共用了多少个1。 输入格式: 多组数据,每组数据一行,由两个整数A,B, -...

计算一个整数的二进制表示有多少个1(别人的最快算法)

最近看了这篇文章 的第一道题 题目本意是怎么判断这段代码的输出 int func(x) { int countx =0; while(x) { count...

求0左边必有1的二进制字符串数量

题目:来自脑客爱刷题      给定一个整数len,求长度为len且仅为为字符’0′与’1′组成的所有可能的字符串中,有多少字符串满足:如果出现’0′的位置,它的左边必有’1′。 例如: ...

【100题】第二十八 整数的二进制表示中1的个数

一,题目:输入一个整数,求该整数的二进制表达中有多少个1。                   例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 二,分析:     &...

程序员面试题精选100题(22)-整数二进制表示中1的个数[算法]

题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道...

二进制表示法中1的个数最多的整数 构造

1的个数最多的整数 给定整数a和b(0≤a≤b≤263-1),输出区间[a,b]中对应二进制表示含1的个数最多的整数,如果存在多个解,则输出符合条件的最小的整数。 输入格式: 第1行:一个整数T(1≤...

反转一个字节 和 判断32位整数二进制中1的个数 的算法

好像有一个是微软的面试题 unsigned char reverse8( unsigned char c ) {      c = ( c & 0x55 ) > 1;      c = ( c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)