判断32位整数二进制中1的个数
2005-03-26 08:50
363 查看
在面试中被问到这一题:判断32位无符号整数二进制中1的个数,虽然不难,但要求层层优化。现在整理一下:
1、基本思路:
#include <iostream>
using namespace std;
char tOne[256]="\0\1\1\2\1\2……"; //后面省略
3、据说Intel中有条汇编指令(或是数条)即可完成这个工作,但不知道具体是什么,应该怎样做。
4、又看到有道MS的笔试题殊途同归:
int func(unsigned int n) int count=0;
while(n>0) n&=(n-1);
count++;
}
return count;
}
1、基本思路:
#include <iostream>
using namespace std;
char tOne[256]="\0\1\1\2\1\2……"; //后面省略
3、据说Intel中有条汇编指令(或是数条)即可完成这个工作,但不知道具体是什么,应该怎样做。
4、又看到有道MS的笔试题殊途同归:
int func(unsigned int n) int count=0;
while(n>0) n&=(n-1);
count++;
}
return count;
}
相关文章推荐
- 位运算笔试练习——判断两个整数(32位)的二进制表达有多少个位不同?
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 判断32位整数二进制中1/0的个数
- 判断32位整数二进制中1的个数的算法
- 判断32位整数二进制中1的个数
- 判断32位整数二进制中1的个数
- 反转一个字节和判断32位整数二进制中1的个数等算法
- (转贴)反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 判断32位整数二进制中1的个数
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- (转贴)反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 最快的判断32位整数二进制中1的个数的算法
- 判断32位整数二进制中1的个数的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 两个int(32位)整数a和b的二进制表达中,有多少个位(bit)不同
- 快速判断整数二进制1的个数
- 求32位整数二进制1的个数