判断一个整数的二进制数里有几个1
来源:互联网 发布:称重收银软件 编辑:程序博客网 时间:2024/06/06 08:43
思路: 先把整数(十进制)转为二进制来处理吧,比如n=10,二进制为1010
方法1:最简单的当然是转成二进制后一位一位的比较。
int count = 0;
string a=Convert.ToString(n, 2);//C#的进制转化
a.ToCharArray();
for (int i=0;i<a.Length;i++)
{
if (a[i]=='1')
{
count++;
}
}
return count;方法2:与运算,这个比较神奇
int func(unsigned int n){
int count=0;
while(n>0){
n=n&(n-1);
count++;
}
return count;
}
比如输入10,n-1=9,1010(10的二进制)&1001(9的二进制),得到一个1000(8的二进制),n=8,count++=1
第二次循环,n-1=7,8&7=0,count++=2;跳出循环,返回count,也就是说10的二进制里面有2个1。。。。
阅读全文
0 0
- 判断一个整数的二进制数里有几个1
- 判断一个整数的二进制数有多少个1
- 判断一个整数转换成二进制后1的个数
- 判断一个整数转换成二进制后1的个数
- 快速判断整数二进制1的个数
- 求一个整数转换为二进制数后有几个1
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- (转贴)反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法(ZZ)
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节 和 判断32位整数二进制中1的个数 的算法
- 反转一个字节和判断32位整数二进制中1的个数等算法
- 如何判断一个整数位的二进制中有多少个1
- 判断一个整数是不是二的整数次幂 求某个数的二进制中1的个数
- 一个整数二进制中1的个数
- java的简单食物购买系统
- java解汉诺塔问题
- ubuntu 14.04系统安装 Scientific Toolworks Understand 软件教程
- Linux 运行进程实时监控pidstat命令详解
- hihocoder1172—博弈游戏·Nim游戏·二
- 判断一个整数的二进制数里有几个1
- office使用记录
- 部署NFS服务
- POJ 1293 Duty Free Shop 笔记
- Spring Security(02)——关于登录
- 2017暑期实习算法工程师(机器学习)面试经验
- ios RGBA数据转UIImage
- AC自动机
- express+webpack+bootstrap项目搭建从0做起