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

C++ में एक बड़ी बाइनरी संख्या में 1 बिट्स की संख्या ज्ञात कीजिए

32-बिट अहस्ताक्षरित बाइनरी नंबर को देखते हुए, कार्य सेट बिट्स को गिनना है, यानी, '1' इसमें मौजूद है।

उदाहरण के लिए

इनपुट:

N = 00000000000000100111

आउटपुट:

4

स्पष्टीकरण: दिए गए अहस्ताक्षरित संख्या में मौजूद कुल सेट बिट्स 4 हैं, इस प्रकार हम आउटपुट को '4' के रूप में वापस कर देंगे।

इस समस्या को हल करने का तरीका

हमने एक अहस्ताक्षरित 32-बिट बाइनरी नंबर दिया है। कार्य यह गिनना है कि इसमें कितने '1' मौजूद हैं।

दिए गए बाइनरी नंबर में मौजूद '1' की संख्या की गणना करने के लिए, हम इनबिल्ट एसटीएल फ़ंक्शन '__builin_popcount(n)' का उपयोग कर सकते हैं जो इनपुट पैरामीटर के रूप में एक बाइनरी नंबर लेता है।

  • इनपुट के रूप में एक बाइनरी नंबर N लें।
  • एक फ़ंक्शन count1Bit(uint32_t n) इनपुट के रूप में 32-बिट बाइनरी नंबर लेता है और बाइनरी नंबर में मौजूद '1' की गिनती देता है।
  • इनबिल्ट फंक्शन __builtin_popcount(n) 'n' के इनपुट को एक पैरामीटर के रूप में लेता है और काउंट लौटाता है।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
int count1bits(uint32_t n) {
   return bitset < 32 > (n).count();
}
int main() {
   uint32_t N = 0000000010100000011;
   cout << count1bits(N) << endl;
   return 0;
}

उपरोक्त कोड को चलाने से आउटपुट इस प्रकार उत्पन्न होगा,

आउटपुट

4

दी गई संख्या में 4 सेट बिट्स या '1s' मौजूद होते हैं। तो, आउटपुट '4' है।


  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

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

  1. C++ प्रोग्रामिंग में बाइनरी ट्री के प्रत्येक नोड में सेट बिट्स की संख्या प्रिंट करें।

    बाइनरी ट्री को देखते हुए, फ़ंक्शन नोड्स में संग्रहीत कुंजियों के बाइनरी मान उत्पन्न करेगा और फिर उस बाइनरी समकक्ष में सेट बिट्स(1) की संख्या लौटाएगा। उदाहरण बाइनरी ट्री जिसमें चाबियां होती हैं:10 3 211 140 162 100 और 146 कुंजी बाइनरी समकक्ष बिट्स (आउटपुट) सेट करें 10 1010 2 3 0011 2 211 1101