Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C/C++ प्रोग्राम: पूर्णांक में सेट बिट्स गिनें


यहां हम देखेंगे कि कैसे हम एक पूर्णांक संख्या में सेट बिट्स की संख्या जांच सकते हैं। सेट बिट्स संख्या के बाइनरी प्रतिनिधित्व में 1 होते हैं। उदाहरण के लिए संख्या 13 में तीन सेट बिट्स 1101 हैं। तो गिनती 3 होगी।

इस समस्या को हल करने के लिए, हम संख्या को दाएं शिफ्ट करेंगे, और यदि LSB 1 है, तो गिनती बढ़ाएं। जब तक संख्या 0 नहीं हो जाती, यह चलेगा।

एल्गोरिदम

countSetBit()

begin   count := 0   while count is not 0, do     if LSb of n is set, then         count := count + 1     end if     n := n after shifting 1 bit to right   done   return count end

उदाहरण

#include using namespace std; int count_set_bit(int n) {     int count = 0;     while(n != 0) {         if(n & 1 == 1) {             count++;         }         n = n >> 1; //right shift 1 bit     }     return count; } int main() {     int n;     cout << "Enter a number: ";     cin >> n;     cout << "Number of set bits: " << count_set_bit(n); }

आउटपुट

Enter a number: 29 Number of set bits: 4

यह प्रोग्राम C में चलेगा और आउटपुट उत्पन्न करेगा, लेकिन जब हम C++ में संकलित करना चाहते हैं, तो यह संकलन समय पर त्रुटि लौटाएगा। यह कहेगा कि बहुत सारे तर्क पारित किए गए हैं।


  1. nवीं कैटलन संख्या (nth Catalan Number) के लिए C/C++ प्रोग्राम? nवीं कैटलन संख्या (nth Catalan Number) के लिए C/C++ प्रोग्राम?

    कैटलन संख्याएं (Catalan numbers) संख्याओं का एक अनुक्रम है। कैटलन संख्याएं प्राकृतिक संख्याओं का एक अनुक्रम बनाती हैं जो विभिन्न गणना समस्याओं में होती हैं, अक्सर पुनरावर्ती रूप से परिभाषित वस्तुओं से जुड़ी होती हैं। Cₙ लंबाई 2n के डाइक शब्दों (Dyck words) की संख्या है। एक डाइक शब्द n Xs और n Ys

  1. - C/C++ प्रोग्राम: किसी संख्या के फैक्टोरियल में अनुगामी शून्यों की गणना

    यहां हम देखेंगे कि किसी भी संख्या के फैक्टोरियल के परिणाम के लिए अनुगामी 0 की संख्या की गणना कैसे करें। इसलिए यदि n = 5, तो 5! = 120। केवल एक अनुगामी 0 है। 20! के लिए, यह 4 शून्य होंगे क्योंकि 20! = 2432902008176640000। सबसे आसान दृष्टिकोण केवल फैक्टोरियल की गणना करना और 0 गिनना है। लेकिन यह दृष्टिक

  1. C में फ्लोटिंग पॉइंट संख्या में सेट बिट्स गिनना C में फ्लोटिंग पॉइंट संख्या में सेट बिट्स गिनना

    इस समस्या में एक फ्लोटिंग पॉइंट मान दिया गया है। हमें इसके बाइनरी प्रतिनिधित्व में सेट बिट्स की संख्या ढूंढनी है। उदाहरण के लिए, यदि एक फ्लोटिंग पॉइंट संख्या 0.15625 है तो इसमें छह सेट बिट्स हैं। एक सामान्य C कंपाइलर सिंगल प्रिसिजन फ्लोटिंग पॉइंट प्रतिनिधित्व का उपयोग करता है। तो यह इस तरह दिखेगा।