191. Number of 1 Bits
1. 问题描述
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.
Tags: Bit Manipulation
Similar Problems: (E) Reverse Bits (E) Power of Two (M) Counting Bits
2. 解题思路
- 《剑指offer》
3. 代码
1 class Solution { 2 public: 3 int hammingWeight(uint32_t n) 4 { 5 int i = 0; 6 while (0 != n) 7 { 8 uint32_t t = n-1; 9 n = t & n; 10 i++; 11 } 12 return i; 13 } 14 };