面试题15:二进制中1的个数

# -*- coding:utf-8 -*- class Solution: def NumberOf1(self, n): # write code here # 通过bin()可以直接将正数转为01二进制,而负数经过bin()转换得到的是带有“-”符号的字符串 # 针对负数,我们那他和32位1做与运算 if n < 0: n = n&0xFFFFFFFF count = 0 for i in str(bin(n)): if i == "1": count += 1 return count

浙公网安备 33010602011771号