Write a function that takes an unsigned integer and returns the number of ' 1 ' bits it has (also known as the Hamming weigh T).
For example, the 32-bit integer ' One ' 00000000000000000000000000001011
has a binary representation, so the function should return 3.
Analysis: Test instructions calculates the number of 1 in the 32-bit integer 2 binary representation.
The method is still very numerous and well understood:
1, the use of 2 mathematical characteristics of the system to
Class Solution {public: int hammingweight (uint32_t n) { int count=0; while (n) { if (n%2==1) count++; N=N/2; } return count; }};
2, each bit and 1 do and calculation, calculate not 0 of the number can be
Class Solution {public: int hammingweight (uint32_t n) { int count=0; while (n) { count+=n&1; n>>=1; } return count; }};
3. Each n& (n-1) can reduce the number of bits in N to 1
Class Solution {public: int hammingweight (uint32_t n) { int sum = 0; while (n) { n &= (n-1); ++sum; } return sum; }};
Leetcode:number of 1 Bits