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

C++ प्रोग्राम: संख्या की समता (Parity) को कुशलतापूर्वक ज्ञात करना


इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो दी गई संख्या N की समता (Parity) ज्ञात करता है।

समता को किसी संख्या के बाइनरी प्रतिनिधित्व में सेट बिट्स की संख्या ( '1' की संख्या) के रूप में परिभाषित किया गया है।

यदि बाइनरी प्रतिनिधित्व में '1' की संख्या सम है, तो समता को सम समता कहा जाता है और यदि बाइनरी प्रतिनिधित्व में '1' की संख्या विषम है, तो समता को विषम समता कहा जाता है।

यदि दी गई संख्या N है, तो हम निम्नलिखित ऑपरेशन कर सकते हैं।

  • y = N ^ (N >> 1)
  • y = y ^ (y >> 2)
  • y = y ^ (y >> 4)
  • y = y ^ (y >> 8)
  • y = y ^ (y >> 16)

एक बार ये सभी ऑपरेशन हो जाने के बाद, y में सबसे दायां बिट संख्या की समता को दर्शाएगा। यदि बिट 1 है, तो समता विषम होगी और यदि बिट 0 होगी, तो समता सम होगी।

उदाहरण

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

bool calc_parity(int N) {
    int y;
    y = N ^ (N >> 1);
    y = y ^ (y >> 2);
    y = y ^ (y >> 4);
    y = y ^ (y >> 8);
    y = y ^ (y >> 16);
    // सबसे दाएं बिट की जांच
    if (y & 1)
        return 1;
    return 0;
}

int main() {
    int n = 1345;
    int result = calc_parity(n);
    if(result == 1)
        cout << "Odd Parity" << endl;
    else
        cout << "Even Parity" << endl;
    return 0;
}

आउटपुट

Even Parity

  1. C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, एक रेखा के प्रारंभिक और अंतिम बिंदु। हमारा कार्य C++ में रेखा का मध्य बिंदु खोजने के लिए एक प्रोग्राम बनाना है। समस्या विवरण यहां, हमारे पास प्रारंभिक और अंतिम बिंदु A(x1, y1) और B(x2, y2) वाली एक रेखा है। और हमें रेखा का मध्य बिंदु ज्ञात करना है। उद

  1. C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें एक 2D ऐरे दिया गया है जो त्रिभुज के तीन शीर्षों के निर्देशांक को दर्शाता है। हमारा कार्य C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम बनाना है।केंद्रक (Centroid) त्रिभुज का वह बिंदु है जहां त्रिभुज की तीनों मध्यिकाएं (medians) प्रतिच्छेद करती हैं।मध्यिका (Median)

  1. C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें दो मान दिए गए हैं जो समानांतर चतुर्भुज के आधार (base) और ऊंचाई (height) को दर्शाते हैं। हमारा कार्य C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम बनाना है।समानांतर चतुर्भुज (Parallelogram) चार भुजाओं वाली एक बंद आकृति है जिसकी विपरीत भुजाएं समान औ