"1"의 숫자을 실제로 변환 및 계산하지 않고 숫자의 이진 표현으로 가져올 수 있습니까?바이너리로 변환하지 않고 해밍 무게를 어떻게 확인할 수 있습니까?
def number_of_ones(n):
# do something
# I want to MAKE this FASTER (computationally less complex).
c = 0
while n:
c += n%2
n /= 2
return c
>>> number_of_ones(5)
2
>>> number_of_ones(4)
1
이것은 복제본입니다 http://stackoverflow.com/questions/843737/countions/in-the-number-closed – ChrisW
@ ChrisW-python 및 c 두 개의 다른 언어가 있습니다 – TStamper
정확한 복제본이 아닙니다. 파이썬에서 비트 연산은 훨씬 비싸다. c. –