微软100题(28)整数的二进制表示中1的个数
2015-05-26 15:33
232 查看
题目:输入一个整数,求该整数的二进制表达中有多少个1。
例如输入10,由于其二进制表示为1010,有两个1,因此输出2
例如输入10,由于其二进制表示为1010,有两个1,因此输出2
int NumberOfOneInt(int n) { int cnt = 0; while (n) { cnt++; n = n&(n-1); } return cnt; } int NumberOfOneInt2(int n)//只适用于正数 { int cnt = 0; for (;n>0;n=n>>1) { if(n & 0x1) cnt++; }return cnt; } int NumberOfOneInt3(int n) { int cnt = 0; unsigned int flag = 1; while (flag) { if(n & flag) cnt++; flag = flag<<1; } return cnt; }
相关文章推荐
- 微软算法100题28 整数的二进制表示中1 的个数
- 整数的二进制表示中1的个数 【微软面试100题 第二十八题】
- 100-28- 整数的二进制表示中1的个数
- IT公司100题-28-整数的二进制表示中1的个数
- 微软面试100题之27题:整数的二进制表示中1 的个数
- 整数的二进制表示中1的个数 【微软面试100题 第二十八题】
- IT公司100题-28-整数的二进制表示中1的个数
- 28 整数的二进制表示中1的个数
- 100题_22 整数的二进制表示中1的个数
- 算法--微软面试:整数的二进制表示中1的个数(Java实现)
- 28.整数的二进制表示中1的个数
- 程序员面试题精选100题(22)-整数二进制表示中1的个数[算法]
- 程序员面试题精选100题(22)-整数的二进制表示中1的个数
- 【微软100题】输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345
- 28.整数的二进制表示中1的个数(运算)
- 28.整数的二进制表示中1 的个数
- 微软面试之22 一个整数的二进制中表示中的1的个数
- 程序员面试100题(算法)之整数的二进制表示中1的个数(两种方法)
- 28、整数的二进制表示中1的个数
- 【微软100题】输入一个整数,求该整数的二进制表达中有多少个1