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

C++ में दो नंबरों में सबसे सामान्य बिट की स्थिति


इस समस्या में, हमें दो नंबर M और N दिए गए हैं। हमारा काम दो नंबरों के सबसे दाहिने सामान्य बिट की स्थिति (इंडेक्स) को प्रिंट करना है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट - एन =4 , एम =7

आउटपुट -3

स्पष्टीकरण -(4)2 =100 , (7)2 =111। सबसे सही सामान्य बिट इंडेक्स 3 पर है।

इस समस्या को हल करने के लिए, हमें संख्याओं के सभी समान बिट्स को खोजना होगा। सभी समान बिट्स को खोजने के लिए हमें M और N का xor मिलेगा। फिर हम M^N के निषेध में सबसे सही बिट पाएंगे।

यह समझने में थोड़ा जटिल लगता है, आइए इस पद्धति का उपयोग करके एक उदाहरण को हल करें।

N = 4 , M = 7
~N^M = 100.

यहां सबसे दाहिना सेट बिट इंडेक्स 3 पर है।

उदाहरण

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम,

#include <iostream>
#include <math.h>
using namespace std;
int rightSetBit(int N) {
   int bitIndex = log2(N & -N)+1;
   return bitIndex;
}
void rightSameBit(int m, int n) {
   int diffBit = rightSetBit(~(m^n));
   cout<<diffBit;
}
int main() {
   int N = 4, M = 7;
   cout<<"Postiion of first right same bit of the number "<<N<<" & "<<M<<" is ";
   rightSameBit(N, M);
   return 0;
}

आउटपुट

Postiion of first right same bit of the number 4 & 7 is 3

  1. C++ प्रोग्राम दो संख्याओं को गुणा करने के लिए

    दो संख्याओं a और b के गुणन से उनका गुणनफल प्राप्त होता है। a का मान a और b का गुणनफल प्राप्त करने के लिए b के मान के रूप में कई बार जोड़ा जाता है। उदाहरण के लिए। 5 * 4 = 20 7 * 8 = 56 9 * 9 = 81 ऑपरेटर का उपयोग करके दो संख्याओं को गुणा करने का कार्यक्रम * ऑपरेटर का उपयोग करके दो संख्याओं को गुणा क

  1. C++ प्रोग्राम दो नंबर स्वैप करने के लिए

    दो नंबरों को स्वैप करने के लिए प्रोग्राम बनाने के दो तरीके हैं। एक में एक अस्थायी चर का उपयोग करना शामिल है और दूसरा तरीका तीसरे चर का उपयोग नहीं करता है। इन्हें विस्तार से इस प्रकार समझाया गया है - अस्थायी चर का उपयोग करके दो नंबरों को स्वैप करने का कार्यक्रम एक अस्थायी चर का उपयोग करके दो नंबरों

  1. दो नंबर जोड़ने के लिए C++ प्रोग्राम

    जोड़ एक बुनियादी अंकगणितीय ऑपरेशन है। दो संख्याओं को जोड़ने का कार्यक्रम दो संख्याओं का योग करता है और उनके योग को स्क्रीन पर प्रिंट करता है। एक प्रोग्राम जो दो संख्याओं के योग को प्रदर्शित करता है, वह इस प्रकार दिया गया है - उदाहरण #include <iostream> using namespace std; int main() {