Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

एक पूर्णांक में सेट बिट्स की गणना करने के लिए पायथन प्रोग्राम


इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।

समस्या कथन - हमें एक पूर्णांक n दिया गया है, हमें संख्या के द्विआधारी प्रतिनिधित्व में 1 की संख्या गिनने की आवश्यकता है

आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -

#निष्पक्ष दृष्टिकोण

उदाहरण

# count the bits
def count(n):
   count = 0
   while (n):
      count += n & 1
      n >>= 1
   return count
# main
n = 15
print("The number of bits :",count(n))

आउटपुट

The number of bits : 4

#पुनरावर्ती दृष्टिकोण

उदाहरण

# recursive way
def count( n):
   # base case
   if (n == 0):
      return 0
   else:
      # whether last bit is set or not
      return (n & 1) + count(n >> 1)
# main
n = 15
print("The number of bits :",count(n))

आउटपुट

The number of bits : 4

निष्कर्ष

इस लेख में, हमने सीखा कि कैसे हम एक पूर्णांक में सेट बिट्स को गिनने के लिए पायथन प्रोग्राम बना सकते हैं।


  1. एक सरणी में व्युत्क्रमों की गणना करने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें आवश्यक व्युत्क्रम की गणना करने और उसे प्रदर्शित करने की आवश्यकता है। सरणी को क्रमबद्ध करने के लिए कितने चरणों की आवश्यकता है, इसकी गणना करके उलटा गणना प्राप्त की जाती है। आइए अब नीचे दिए

  1. एक सकारात्मक पूर्णांक संख्या के बिट्स को उलटने के लिए पायथन प्रोग्राम?

    पहले बिन () फ़ंक्शन का उपयोग करके संख्या को बाइनरी में बदलें। फिर द्विआधारी प्रतिनिधित्व के पहले दो वर्णों को छोड़ दें क्योंकि बिन () संख्या के द्विआधारी प्रतिनिधित्व में उपसर्ग के रूप में 0b को जोड़ता है और शेष भाग को उलट देता है। चरित्र से भी और इसे बाएं से दूसरे अंतिम वर्ण तक उलट दें। उलटे बाइनरी

  1. एक संख्या में कुल बिट्स गिनने के लिए एक पायथन प्रोग्राम लिखें?

    पहले हम एक नंबर इनपुट करते हैं फिर इस नंबर को बिन () फ़ंक्शन का उपयोग करके बाइनरी में परिवर्तित करते हैं और फिर आउटपुट स्ट्रिंग के पहले दो अक्षर 0b को हटाते हैं, फिर बाइनरी स्ट्रिंग की लंबाई की गणना करते हैं। उदाहरण Input:200 Output:8 स्पष्टीकरण Binary representation of 200 is 10010000 एल्गोरिद