C++计算输入数据对应二进制中1的个数。
来源:互联网 发布:安邦 华视网络 编辑:程序博客网 时间:2024/05/10 08:41
代码
1.使用C++中bitset类模板,计算
#include<iostream>#include<string>#include<bitset>using namespace std;int main(){ int c; cout<<"Input int data: "<<endl; cin>>c; bitset<sizeof(int)*8> a(c); //bitset输入数据以二进制的形式初始化a cout<<a.count()<<"\n";//bitset操作,a中置为1的个数 return 0;}
2.使用经典java算法
#include<iostream>#include<string>#include<bitset>using namespace std;int getcount_one(int &a);int main(){ int data; cout<<"Input int data: "<<endl; cin>>data; cout<<getcount_one(data)<<endl; return 0;}int getcount_one(int &a){ int num = 0; while(a) { a &= (a-1); //输入的数据a,对应二进制最右边为1是第k位,则a-1后,第k位右边全为1,第k位为0,第k位左边数据保持不变。一次找到一个1,num++。 num++; } return num;}
3.利用移位思想试试
int getcount_one(int &a){ int num = 0; while(a) { if((a&1)==1)num++; a>>=1;//向右移一位,思想很简单,对应二进制最后一位是1,num+1,不是1就代表最后一位是0,循环右移一位 } return num;}
0 0
- C++计算输入数据对应二进制中1的个数。
- C语言--计算二进制数中1的个数(&)
- 算法例题-求输入一个整数,输出对应二进制中1的个数。
- 计算二进制数中1的个数
- 计算二进制中1的个数
- 计算二进制数中1的个数
- 计算二进制中1的个数
- 计算二进制数中1的个数
- 计算二进制数中1的个数
- 计算二进制中1的个数
- 计算二进制中1的个数
- 一、计算二进制中1的个数
- 365-计算二进制中1 的个数
- 计算二进制中1的个数
- 计算二进制中1的个数
- 计算二进制数中1的个数
- 计算二进制中含有1的个数
- 计算二进制中1的个数
- 编写一个智能指针类
- oracle rac12c 安装数据库 check maximum locked memory setting on the system
- 断言在程序开发中的运用
- drawable转bitmap
- 菜鸟也玩虚拟机:VMWare虚拟机的安装设置、硬盘分区及系统安装方法
- C++计算输入数据对应二进制中1的个数。
- 玩转EasyUI之ValidateBox
- Storyboard 全解析 (二)
- 基数排序/计数排序
- ulua源码分析
- 高特权级代码段转向低特权级代码段(利用 ret(retf) 指令实现 jmp from ring0 to ring3)
- 简易前端分页组件
- Log4j详解与实战
- 函数调用--函数栈