题目:
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.
答案:
求一个数字二进制形式时的汉明权重,也就是里面有多少个1
1 class Solution { 2 public: 3 int hammingWeight(uint32_t n) { 4 int count=0; 5 for(int i=0;i<32;i++){ 6 if(n&1==1){ 7 count++; 8 } 9 n=n>>1; 10 } 11 return count; 12 } 13 };