परिचय
किसी संख्या की पैरिटी उस संख्या के बाइनरी समतुल्य में मौजूद 1 की संख्या पर आधारित होती है। जब मौजूद 1s की गिनती विषम होती है, तो यह विषम पैरिटी लौटाता है, 1s की सम संख्या के लिए यह सम पैरिटी लौटाता है।
जैसा कि हम जानते हैं कि कंप्यूटर मेमोरी में संख्याएं बाइनरी संख्याओं में संग्रहीत होती हैं, इसलिए हम संख्याओं को आसानी से शिफ्ट कर सकते हैं। इस मामले में, बिट्स को शिफ्ट करके, हम दी गई संख्या के बाइनरी समतुल्य में मौजूद 1s की संख्या गिनेंगे।
इनपुट और आउटपुट
इनपुट: एक संख्या: 5 बाइनरी समतुल्य है (101) आउटपुट: 5 की पैरिटी विषम है।
एल्गोरिदम
findParity(n)
इनपुट: संख्या n
आउटपुट: जांचें कि संख्या में सम पैरिटी है या विषम पैरिटी
Begin
count := 0
temp := n
जब तक temp >= 2, करें
यदि temp का LSb 1 है, तो
count := count + 1
temp := temp को 1 बिट के लिए दाएं शिफ्ट करें
done
यदि count विषम संख्या है, तो
प्रदर्शित करें यह विषम पैरिटी है
अन्यथा
सम पैरिटी प्रदर्शित करें
End
उदाहरण (C++ कोड)
#include <iostream>
using namespace std;
bool findParity(int n) {
int count = 0;
int temp = n;
while (temp >= 2) {
if (temp & 1) // जब LSB 1 हो, तो काउंट बढ़ाएं
count++;
temp = temp >> 1; // संख्या को 1 बिट दाएं शिफ्ट करें
}
return (count % 2) ? true : false;
}
int main() {
int n;
cout << "Enter a number: "; cin >> n;
cout << "Parity of " << n << " is " << (findParity(n) ? "Odd" : "Even");
}
आउटपुट
Enter a number: 5 Parity of 5 is Odd