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

C++ में संख्या की पैरिटी (समता) कुशलता से ढूंढना


परिचय

इस ट्यूटोरियल में हम एक ऐसा प्रोग्राम लिखेंगे जो किसी संख्या की पैरिटी (parity) ढूंढता है। पैरिटी का अर्थ है बाइनरी प्रतिनिधित्व में सेट बिट्स (1s) की संख्या सम है या विषम।

कुशल एल्गोरिदम

हम XOR और राइट-शिफ्ट ऑपरेटर्स का उपयोग करके कुशलता से पैरिटी ढूंढ सकते हैं:

int b;
b = n ^ (n >> 1);
b = b ^ (b >> 2);
b = b ^ (b >> 4);
b = b ^ (b >> 8);
b = b ^ (b >> 16);

यदि परिणाम का अंतिम बिट 1 है तो यह विषम पैरिटी (odd parity) है अन्यथा सम पैरिटी (even parity)।

उदाहरण कोड

#include <bits/stdc++.h>
using namespace std;

void findParity(int n) {
    int b;
    b = n ^ (n >> 1);
    b = b ^ (b >> 2);
    b = b ^ (b >> 4);
    b = b ^ (b >> 8);
    b = b ^ (b >> 16);
    if ((b & 1) == 0) {
        cout << "Even Parity" << endl;
    } else {
        cout << "Odd Parity" << endl;
    }
}

int main() {
    int n = 15;
    findParity(n);
    return 0;
}

आउटपुट

Even Parity

व्याख्या

15 का बाइनरी: 1111 (चार 1s - सम संख्या), इसलिए इवन पैरिटी।

यह एल्गोरिदम बिट्स को जोड़कर पैरिटी की गणना करता है, जिसे "पैरिटी फोल्डिंग" कहा जाता है। यह O(log शब्द आकार) समय में काम करता है।

निष्कर्ष

यह बिट मैनिपुलेशन तकनीक पैरिटी जांचने का सबसे तेज़ तरीका है। यदि आपके कोई प्रश्न हैं, तो कमेंट सेक्शन में पूछें।


  1. C++ का उपयोग करके पेंटागोनल पिरामिडल संख्या ज्ञात करना C++ का उपयोग करके पेंटागोनल पिरामिडल संख्या ज्ञात करना

    एक पेंटागोनल पिरामिडल संख्या पेंटागोनल बेस पिरामिड में वस्तुओं की संख्या के बराबर होती है। नीचे कुछ पेंटागोनल संख्याएं देखें। N तक पेंटागोनल संख्याओं का योग Nवीं पेंटागोनल पिरामिडल संख्या के बराबर होता है। इस लेख में, हम Nवीं पेंटागोनल पिरामिडल संख्या खोजने पर चर्चा करेंगे, उदाहरण के लिए: इनपुट:

  1. C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

    इस लेख में, आप एक दी गई स्ट्रिंग में बनने वाले सबस्ट्रिंग्स (गैर-खाली) की संख्या निकालने के दृष्टिकोण के बारे में जानेंगे।इनपुट: string = moon आउटपुट: 10 व्याख्या: सबस्ट्रिंग्स हैं m, o, o, n, mo, oo, on, moo, oon और moon। इनपुट: string = yellow आउटपुट: 21समाधान खोजने का दृष्टिकोणमान लें स्ट्रिंग की

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

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