博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个非常有用的算法---统计二进制数中1的个数
阅读量:5237 次
发布时间:2019-06-14

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

本人算法小菜,看见一个非常好的算法,统计一个数的二进制数的1的个数。觉得不错,与大家分享。

1 int fun(int x){2     int count = 0;3     while(x){4         count++;5         x = x &(x-1)6     }7     return count;8 }

  下面是个人的一点解释(欢迎拍砖)

  比如一个数x的二进制后面几位是1000.

         x-1的二进制后面几位变成了     0111.

     二者&,变成了                            0000

而对于原数x的二进制数而言,就从右端减少了一个1。所以上述算法是计算二进制1的个数。

转载于:https://www.cnblogs.com/plxx/p/4605124.html

你可能感兴趣的文章
如何在vue单页应用中使用百度地图
查看>>
Springboot使用步骤
查看>>
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Springboot-日志框架
查看>>
SpringBoot-thymeleaf
查看>>
P1908-逆序对
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
Android控件之GridView探究
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
snmpwalk命令常用方法总结
查看>>
网站产品设计
查看>>