整数的二进制表示中1的个数
2011-02-23 17:33
239 查看
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
利用位运算~第二种思路很赞....
利用位运算~第二种思路很赞....
#include<iostream> using namespace std; int count_one_1(int num){ int cnt=0; //unsigned int i=1; int i=1; while(i){ if(num&i) cnt++; i=i<<1; } return cnt; } int count_one_2(int num){ //很赞的方法 int cnt=0; while(num){ num=num&(num-1); //101 & 100 = 100; 100 & 011=0; cnt++; } return cnt; } int main(void){ int num; while(cin>>num){ cout<<"solution1:" <<count_one_1(num)<<endl; cout<<"solution2:" <<count_one_2(num)<<endl; } system("pause"); return 0; }
相关文章推荐
- 统计整数二进制表示中1的个数
- 算法--微软面试:整数的二进制表示中1的个数(Java实现)
- 数据结构——算法之(015)( 求整数二进制表示中1的个数)
- 统计给定整数的二进制表示中1的个数
- 正整数的 二进制表示 中 从低位向高位 第1个0/1出现位置 的计算方法
- 计算整数x的二进制表示中1的个数
- (16) [转载]:整数的二进制表示中1的个数
- c语言:统计整数二进制表示中1的个数(汉明重量)
- 100题_22 整数的二进制表示中1的个数
- 整数二进制表示中1的个数[算法]
- 整数的二进制表示中1的个数
- 整数二进制表示中1的个数
- 统计给定整数的二进制表示中1的个数
- c语言 统计整数二进制表示中1的个数
- 求逆转一个整数的二进制表示
- 快速计算整数的二进制表示法中1的个数(编程珠玑9章课后习题7)
- 整数的二进制表示中1的个数(28)
- Q28、整数的二进制表示中 1 的个数(运算)
- 逆转一个整数的二进制表示问题
- 正整数的二进制表示有多少个1