题目描述: 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 示例: 本题中就转化成二进制然后数1的个数就行了,当为负数的时候,用无符号int来表示int就行了。 代码如下: class Solution { public: int NumberOf1(int n) { int count = 0; unsigned int num = n; while(num > 0) { if(num % 2 == 1) count++; num /= 2; } return count; } };