Computer >> Máy Tính >  >> Lập trình >> Python

Số lượng 1 bit trong Python


Giả sử chúng ta có một số không dấu n. Chúng ta phải tìm số 1 trong biểu diễn nhị phân của số này. Đây còn được gọi là Hamming Weight. Vì vậy, nếu số như 000000101101, thì kết quả sẽ là 4.

Để giải quyết vấn đề này, chúng tôi sẽ sử dụng các bước sau -

  • Lấy số và chuyển đổi nó thành một chuỗi nhị phân
  • bộ đếm =0
  • cho mỗi ký tự e trong một chuỗi nhị phân
    • nếu ký tự là '1', thì hãy tăng số lượng lên 1
  • số lượng trả lại

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn -

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))

Đầu vào

num = "000000101101"

Đầu ra

4