1. 二进制中1的个数
请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。
方法一:
def hamming_weight(n):
binary_str = bin(n)[2:]
return len(binary_str.replace('0', ''))
方法二:
import re
def hamming_weight(n):
match_arr = re.findall(r'1', bin(n)[2:])
return len(match_arr) if match_arr else 0
方法三:
import re
def hamming_weight(n):
count = 0
while n!= 0:
n = n & (n - 1)
count += 1
return count