इस समस्या में, हमें दो संख्याएँ n और k दी गई हैं। हमारा काम k th . को प्रिंट करना है संख्या n का कम से कम महत्वपूर्ण बिट।
आइए समस्या को समझने के लिए एक उदाहरण लेते हैं
इनपुट:n =12 , k =3Output1व्याख्या:आइए n:12 =1100 का बाइनरी प्रतिनिधित्व देखें।अब, तीसरा सबसे कम महत्वपूर्ण बिट 1 है।
इस समस्या को हल करने के लिए हम संख्या के बाइनरी बिट्स का उपयोग करेंगे। और संख्या का kth बिट प्राप्त करें। इसके लिए हम नंबर की बाइनरी शिफ्टिंग और नंबर (k-1) बार लेफ्ट-शिफ्ट का इस्तेमाल करेंगे। अब शिफ्ट किए गए नंबर और ओरिजिनल नंबर का एंड ऑपरेशन करने पर जो kth बिट की वैल्यू देगा।
उदाहरण
नीचे दिया गया कोड हमारे समाधान के कार्यान्वयन को दिखाएगा
#includeनेमस्पेस का उपयोग करना std;int main() { int N =12, K =3; cout< आउटपुट
12 का तीसरा महत्वपूर्ण बिट है:1