如何求一个数的二进制表示中1的个数
来源:互联网 发布:淘宝办澳洲签证靠谱吗 编辑:程序博客网 时间:2024/05/16 17:48
求一个数的二进制中1的个数方法很多,在这里我总结最近学到的两种简单好用的方法:
(1)简单法:
由于右移运算符的特性,每向右移动一位,相当于二进制的最低位就被消除高位补零,其功能相当于该数每次除以2。
利用上述原理,每次让二进制的最低位和1进行与运算.若该位是1,则记一次数.然后右移1位;继续上述运算,直到为零。
代码实现:
int count (int n )
{
int i ;
for (i = 0; n ; )
{
if(n&1==1) i++;
n>>=1;
}
return i;
}
(2快速法:
之所以叫快速法,是因为其在求解时并不关注二进制的位数,其的效率由该二进制中1的个数决定.即每次让其最低位为1的归零,能进行多少次,说明该数的二进制表示中
就有多少个1.
代码实现:
int count (int n )
{
int i ;
for (i = 0; n ; i++)
{
n&=(n-1);
}
return i;
}
0 0
- 求一个数的二进制表示中1的个数
- 求一个数的二进制表示中1的个数
- 求一个数二进制表示中1的个数
- 如何求一个数的二进制表示中1的个数
- 【二进制】求一个数的二进制表示中1的个数
- 如何求一个数的二进制表示的1的个数
- 编程之美 2.1 求一个数的二进制表示中1的个数
- C语言位运算应用一:求一个数的二进制表示中1的个数
- 求一个整数的二进制表示中1的个数
- 求一个数二进制表示法中1的个数诸多方法
- 求一个数二进制表示法中1的个数诸多方法
- 求一个数二进制表示法中1的个数诸多方法 .
- 求一个数据,二进制表示中"1"的个数
- 求 一个字符 在二进制表示中1的个数
- 统计一个数的二进制表示中1的个数
- 计算一个数的二进制表示中1的个数
- 如何求二进制表示中“1”的个数
- 求一个数的二进制数中1的个数
- flask restfull 快速入手
- 集合之Collection与Collections
- Docker storage driver 选择
- 【CodeForces 628B】 New Skateboard (数学水)
- Android Volley完全解析(二),使用Volley加载网络图片
- 如何求一个数的二进制表示中1的个数
- G711转AAC代码总结
- 深度强化学习向光资料--转载
- Picasso-A powerful image downloading and caching library for Android
- ThinkPHP 3.2.3 验证码 生成和校验DEMO
- Linux进程创建fork()与vfork()
- android开发 系统信息相关工具类 权限管理页面
- android activity单实例化
- Anroid ListView分组和悬浮Header实现