Number of 1 Bits

描述

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.

分析

最直接的方法,做32次右移,统计出1的个数。

第二个方法,来自 "Hacker's Delight" 这本书。

解法1

解法2

原文: https://soulmachine.gitbooks.io/algorithm-essentials/content/cpp/bitwise-operations/number-of-1-bits.html