标签:
Problem Definition:
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.
Solution:
基本方法,Python实现,直观到不好意思。
1 def hammingWeight(n): 2 count=0 3 count+=(n%2) 4 b=n/2 5 while b!=0: 6 count+=(b%2) 7 b=b/2 8 return count
但是上面的代码不够“Python”,应该这么的:(reference1)(reference2)
def hammingWeight(n): return (bin(n)[2:]).count(‘1‘)
如果是C/C++实现,用位操作比较方便
标签:
原文地址:http://www.cnblogs.com/acetseng/p/4656811.html