剑指15题解 | #二进制中1的个数#
二进制中1的个数
https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8
class Solution {
public:
int NumberOf1(int n) {
// write code here
unsigned int m = (unsigned)n; // 将正负数均转为无符号整数
int sum = 0;
while (m > 1) {
if(m%2){ // 求余运算转二进制,余数为1则添加
sum++;
}
m/=2; // 更新当前
}
if(m) sum++; // 最后一个还是1,继续算上一个
return sum;
}
};
挤挤刷刷! 文章被收录于专栏
记录coding过程
