इस समस्या में, हमें दो पूर्णांक मान दिए गए हैं। हमारा काम ऑपरेशन करने के लिए एक सी प्रोग्राम बनाना है, संख्या के प्रत्येक सेट बिट के लिए दूसरे के टॉगल बिट्स।
समस्या को समझने के लिए एक उदाहरण लेते हैं
Input: 3 7 Output: 4 Binary of 3: 011 Binary of 3: 111
दूसरे नंबर के पहले और दूसरे बिट को फ़्लिप किया जाता है जो इसे 100 यानि 4 बनाता है।
समाधान दृष्टिकोण
समस्या को हल करने का एक तरीका दो नंबरों का एक्सओआर ऑपरेशन करना है। परिणाम उस बिट के लिए टॉगल किया जाएगा जहां कभी भी XOR ऑपरेशन का उपयोग करके I'st के बिट्स 1 होंगे।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम
#include <bits/stdc++.h> using namespace std; int main(){ int a = 3, b = 7; cout<<"The numbers are "<<a<<" & "<<b<<endl; cout<<"The result of flipping bits is "<<(a ^ b); return 0; }
आउटपुट
The numbers are 3 & 7 The result of flipping bits is 4