Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11’ has binary representation 00000000000000000000000000001011, so the function should return 3.
不懂这种题有啥意思,还通过率这么低这种不应该一次A过去吗。
class Solution {
public:
int hammingWeight(uint32_t n) {
int value[33]={};
int count=0;
int sum=0;
while(n!=0){
int temp=n%2;
value[count]=temp;
count++;
n=n/2;
}
for(int i=0;i<33;i++){
if(value[i]==1)sum+=1;
}
return sum;
}
};