博客
关于我
位运算符 按位与 &——整数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/

你可能感兴趣的文章
Nginx学习总结(3)——Nginx配置及应用场景之高级配置
查看>>
Nginx学习总结(4)——负载均衡session会话保持方法
查看>>
Nginx学习总结(7)——Nginx配置HTTPS 服务器
查看>>
Nginx学习总结(8)——Nginx服务器详解
查看>>
Nginx学习总结(9)——前端跨域问题解决
查看>>
nginx学习笔记002---Nginx代理配置_案例1_实现了对前端代码的方向代理_并且配置了后端api接口的访问地址
查看>>
nginx学习笔记003---Nginx代理配置_注意,在Windows中路径要用/
查看>>
Nginx学习笔记(一) Nginx架构
查看>>
Nginx安装
查看>>
Nginx安装SSL模块 nginx: the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx
查看>>
nginx安装stream模块配置tcp/udp端口转发
查看>>
nginx安装Stream模块配置tcp/udp端口转发
查看>>
Nginx安装与常见命令
查看>>
nginx安装与配置
查看>>
【Flink】Flink 2023 Flink 到 Doris 实时写入实践
查看>>
Nginx安装及配置详解
查看>>
nginx安装并配置实现端口转发
查看>>
nginx安装配置
查看>>
Nginx实战之1.1-1.6 Nginx介绍,安装及配置文件详解
查看>>
Nginx实战经验分享:从小白到专家的成长历程!
查看>>