题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
java思路:将整数转换为二进制数,而且返回值是字符串参数,将里面的0替代为什么都没有,再算字符串的长度即可。
java代码:
public class Solution {
public int NumberOf1(int n) {
return Integer.toBinaryString(n).replaceAll("0", "").length();
}
}
python思路:
&之后,看哪些位是1
python代码:
# -*- coding:utf-8 -*-
class Solution:
def NumberOf1(self, n):
return sum([(n>>i & 1)for i in range(0,32)])