求二进制中1的个数
来源:互联网 发布:怎么在淘宝上拿货的 编辑:程序博客网 时间:2024/05/16 00:46
以10 100 010为例;
第一次除以2时,商为1 010 001,余为0。
第二次除以2时,商为101 000,余为1。
因此,可以考虑利用整型数据除法的特点,通过相除和判断余数的值来进行分析。于是有了如下的代码。
public class Main { public static void main(String[] args) { Main main = new Main(); System.out.println(main.count(7)); } int count(int v) { int num = 0; while (v != 0) { if (v % 2 == 1) { num++; } v /= 2; } return num; }}
亲测正确
public class Main { public static void main(String[] args) { Main main = new Main();// System.out.println(main.count(7)); System.out.println(main.count2(7)); } //方法1 int count(int v) { int num = 0; while (v != 0) { if (v % 2 == 1) { num++; } v /= 2; } return num; } //方法2 int count2(int n) { int c = 0; for (c = 0; n != 0; ++c) { n &= (n - 1); } return c; }}
阅读全文
0 0
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制中1的个数
- 求二进制数中1的个数
- 求二进制数中 1 的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- “求二进制数中1的个数”
- 求二进制中1 的个数
- python基础(四)
- 如何快速掌握Pandas
- [cocos2d-x]关于坐标系
- java中结束循环的标志break和continue语句
- 一些PHP性能的优化
- 求二进制中1的个数
- 最全面的SQL语句总结 <精品推荐>
- HDU 5038
- Discuz之Windows下PHP环境的基本搭建(纯手动搭建)
- 算法系列——Swap Nodes in Pairs
- 【JZOJ5229】【GDOI2018模拟7.14】小奇的糖果
- 在windows下的qt5.7.1 的纯C或C++项目命令行中文乱码、无法编译等问题解决
- 【文献阅读/翻译...】bayesian compression for deep learning深度学习中的贝叶斯压缩
- Spark的Dataset操作(三)-分组,聚合,排序