Python 中 1 位二进制数的个数


假如我们有一个无符号数 n。我们需要在这个数的二进制表示中找出 1 的个数。这也被称为汉明重量。所以如果这个数是 000000101101,那么结果将是 4。

为了解决这个问题,我们将使用以下步骤:

  • 获取这个数并将其转换为一个二进制字符串
  • 设置 count = 0
  • 对于二进制字符串中的每个字符 e
    • 如果该字符是‘1’,则将 count 增加 1
  • 返回 count

示例

让我们看看以下实现以获得更好的理解:

在线演示

class Solution(object):
   def hammingWeight(self, n):
      """
      :type n: int
      :rtype: int
      """
      n = str(bin(n))
      print(n)
      one_count = 0
      for i in n:
         if i == "1":
            one_count+=1
      return one_count
num = "000000101101"
ob1 = Solution()
print(ob1.hammingWeight(num))

输入

num = "000000101101"

输出

4

更新于:2020 年 4 月 28 日

8K+ 次浏览

开启您的 职业

通过完成课程获得认证

开始
广告
© . All rights reserved.