问题描述: 计算出二进制数中1的个数。
解法一:循环计数
解法与分析: 使用一个数1来“与”二进制数中每一位,若值为1则1的个数加一。
参考代码如下
1 | /** |
解法二:最佳算法
解法与分析: 设二进制数为num,若num不为0时,num-1后的值与num相与都会消除一个1,按照这一点,可以很快计算出1个个数。
参考代码如下
1 | /** |
- 附:源码地址
砍树的人开始学造斧!
问题描述: 计算出二进制数中1的个数。
解法与分析: 使用一个数1来“与”二进制数中每一位,若值为1则1的个数加一。
1 | /** |
解法与分析: 设二进制数为num,若num不为0时,num-1后的值与num相与都会消除一个1,按照这一点,可以很快计算出1个个数。
1 | /** |