题目描述
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
示例 1:
1 | 输入:00000000000000000000000000001011 |
示例 2:
1 | 输入:00000000000000000000000010000000 |
示例 3:
1 | 输入:11111111111111111111111111111101 |
进阶:
如果多次调用这个函数,你将如何优化你的算法?
题目分析
可以循环的对输入数与1取与, 如结果为1则返回结果加1, 后右移1位.
源码
1 | class Solution { // 手动取每一位 |
1 | class Solution { // 使用STL的bitset |