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

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


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

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

इनपुट - N = 4, M = 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 << "संख्या " << N << " & " << M << " के पहले दाएं समान बिट की स्थिति है ";
    rightSameBit(N, M);
    return 0;
}

आउटपुट

संख्या 4 & 7 के पहले दाएं समान बिट की स्थिति है 3
  1. - C++ में दो संख्याओं को गुणा करने का प्रोग्राम

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

  1. - C++ प्रोग्राम: दो संख्याओं को स्वैप करें

    परिचयदो संख्याओं को स्वैप करने का प्रोग्राम बनाने के दो तरीके हैं। एक में टेम्प वेरिएबल का उपयोग शामिल है और दूसरा तरीका तीसरे वेरिएबल का उपयोग नहीं करता है। इन्हें विस्तार से समझाया गया है - टेम्प वेरिएबल का उपयोग करके दो संख्याओं को स्वैप करेंउदाहरण#include <iostream> using namespace std; i

  1. - C++ प्रोग्राम: दो संख्याएं जोड़ें

    परिचयजोड़ एक बुनियादी अंकगणितीय संक्रिया है। दो संख्याओं को जोड़ने वाला प्रोग्राम दो संख्याओं का जोड़ करता है और उनका योग स्क्रीन पर प्रिंट करता है। उदाहरण#include <iostream> using namespace std; int main() { int num1 = 15, num2 = 10, sum; sum = num1 + num2; cout << Sum of