博客
关于我
位运算符 按位与 &——整数n的二进制数中1的个数
阅读量:278 次
发布时间:2019-03-01

本文共 377 字,大约阅读时间需要 1 分钟。

整数n的二进制数中1的个数

编写一个函数,输入是一个整数,返回其二进制表达式中数字位数为 ‘1’ 的个数

代码如下:

int func(int n)//char ch{   	 int count = 0;         while(n > 0)          {               count++;              n&=(n-1);          }         return count;}

原理:n&(n-1) 按位与 每计算一次,低位减一

二进制8与自身减一进行按位与操作
如上图中二进制8与自身减一进行按位与操作
二进制3与自身减一进行按位与操作
如上图二进制3与自身减一进行按位与操作

-由此可的:

  • 8的二进制中有一位1,因此进行了一次该操作后变为0
  • 3的二进制中有两位1,进行两次该操作后变为0

则n&=(n-1)运算的次数可以表示用来表示n的二进制中1的位数

原题链接:

转载地址:http://jwso.baihongyu.com/

你可能感兴趣的文章
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
MFC模态对话框和非模态对话框
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
mxGraph改变图形大小重置overlay位置
查看>>
MongoDB可视化客户端管理工具之NoSQLbooster4mongo
查看>>
Mongodb学习总结(1)——常用NoSql数据库比较
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
mongodb定时备份数据库
查看>>
mppt算法详解-ChatGPT4o作答
查看>>
mpvue的使用(一)必要的开发环境
查看>>
MQ 重复消费如何解决?
查看>>