求一个数的二进制中有多少个1的两种解法
2016-09-06 20:00
155 查看
#include <iostream> int NumberOf1(int n) { unsigned int flag = 1; int count = 0; while (flag) { if (n & flag) count++; flag = flag << 1; } return count; } int NumberOf1(int n) { int count = 0; while (n) { ++count; n = (n - 1) & n;//n=1000, n-1=0100, n=0 n中只有一个1 } return count; }第一种解法必须循环整数的二进制的位数次,而第二种解法循环次数=n中有多少个1次
相关文章推荐
- 求一个数的二进制中有多少个1的最优解法
- java 程序题 递归算法 判断一个整数化成二进制之后有多少个1 (两种思路)
- 判断一个整数转化成二进制有多少个1
- 求一个整数的二进制后面有多少个0
- 求一个数的二进制表示中,有多少个1的问题
- 给定一个整数N,求N!末尾有多少个0?N!的二进制表示中最低1的位置?
- 统计一个整数的二进制中1的个数的三种解法
- 计算一个数的二进制表示中有多少个1
- [ACM] POJ 3252 Round Numbers (一个区间内二进制中0的个数大于等于1的个数有多少个,组合)
- 计算将一个十进制整数转换成二进制含多少个1
- PHP 输入一个整数,求该整数的二进制表达中有多少个1
- 将m,n(m>n)的连续自然数序列,打乱顺序重新排列,随机取出一个数,试问取出的这个数是多少?使用一种解法,时间复杂度O(m-n),空间复杂度O(1)
- 一个数字的二进制有多少个1(转)
- Java算法总结:输入一个整数,求该整数的二进制表示中有多少个1
- 算法的强大——快速计算一个正二进制整数中包含多少个1
- 统计一个整数n的二进制表示中1的个数的几种解法
- 输入一个整数,求该整数的二进制表达中有多少个1
- 求一个unsigned int 数的二进制表示中有多少个1?
- 计算一个数的二进制形式有多少个1
- 给定一个整数,求它的二进制表示中有多少个1。