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

C++ में दाएं सबसे अलग बिट की स्थिति


इस समस्या में, हमें दो संख्याएं N और M दी गई हैं। हमारा कार्य संख्या के बाइनरी प्रतिनिधित्व में दाएं सबसे अलग बिट का इंडेक्स ढूंढना है।

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

इनपुट - N = 12, M = 9

आउटपुट - 2

व्याख्या - (12)2 = 1100 और (10)2 = 1010।

दाएं से दूसरी बिट एक अलग बिट है।

इस समस्या को हल करने के लिए, हमें दोनों संख्याओं के सभी अलग बिट्स ढूंढने होंगे। सभी अलग बिट्स ढूंढने के लिए हम M और N का XOR ढूंढेंगे। फिर हम M^N का दाएं सबसे बिट ढूंढेंगे।

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

N = 12, M = 9
N^M = 0110।

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

उदाहरण

हमारे समाधान के कार्यान्वयन को दर्शाने वाला प्रोग्राम,

#include <iostream>
#include <math.h>
using namespace std;

int rightSetBit(int N) {
    int bitIndex = log2(N & -N) + 1;
    return bitIndex;
}

void rightDiffBit(int m, int n) {
    int diffBit = rightSetBit(m^n);
    cout << diffBit;
}

int main() {
    int N = 12, M = 10;
    cout << "संख्या " << N << " & " << M << " के पहले दाएं अलग बिट की स्थिति है ";
    rightDiffBit(N, M);
    return 0;
}

आउटपुट

संख्या 12 & 10 के पहले दाएं अलग बिट की स्थिति है 2
  1. C++ में T सेकंड के बाद मेंढक की स्थिति C++ में T सेकंड के बाद मेंढक की स्थिति

    मान लीजिए हमारे पास n शीर्षों वाला एक अविकल्पित वृक्ष है। शीर्ष 1 से n तक संख्यांकित हैं। अब एक मेंढक शीर्ष 1 से कूदना शुरू करता है। मेंढक अपने वर्तमान शीर्ष से दूसरे अनदेखे शीर्ष पर कूद सकता है यदि वे आसन्न हैं, एक सेकंड में। मेंढक किसी देखे गए शीर्ष पर वापस नहीं कूद सकता। यदि मेंढक कई शीर्षों पर क

  1. C++ में वृत्त पर विपरीत दिशा में खड़े व्यक्ति की स्थिति C++ में वृत्त पर विपरीत दिशा में खड़े व्यक्ति की स्थिति

    इस समस्या में, हमें दो पूर्णांक N और M दिए गए हैं। एक वृत्त है और N लोग उस पर खड़े हैं। M एक व्यक्ति की स्थिति को दर्शाता है। हमारा कार्य M के विपरीत व्यक्ति की स्थिति प्रिंट करना है। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट - N = 6, M = 3 आउटपुट - 6 व्याख्या - इस समस्या को हल करने के लिए,

  1. - विभिन्न C++ संस्करण

    C++ प्रोग्रामिंग भाषा के कई संस्करण हैं। भाषा के ये संस्करण ISO C++ समुदाय द्वारा निर्मित विनिर्देशों पर आधारित कंपाइलर कार्यान्वयन हैं, वह समुदाय जो भाषा के विकास की देखरेख करता है। भाषा के निम्नलिखित संस्करण हैं: C++98 (ISO/IEC 14882:1998) पहला संस्करण है। C++03 (ISO/IEC 14882:2003) दूसरा संस्कर