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

C++ में बिट्स को उल्टा करें


मान लीजिए हमारे पास एक अनसाइन्ड संख्या x है, और हम आसानी से इसका बाइनरी प्रतिनिधित्व ढूंढ सकते हैं (32-बिट अनसाइन्ड पूर्णांक)। हमारा कार्य बिट्स को उल्टा करना है। यदि बाइनरी प्रतिनिधित्व 00000000000000000000001001110100 जैसा है, तो उल्टे बिट्स 00101110010000000000000000000000 होंगे। हमें बिट्स उल्टा करने के बाद वास्तविक संख्या वापस करनी है।

हल करने के चरण

  • मान लें n दी गई संख्या है
  • answer := 0 मान लें
  • i := 31 से 0 तक:
    • answer := answer OR (n AND 1), और इसे i बार बाएं शिफ्ट करें
    • n := n को 1 बिट दाएं शिफ्ट करने के बाद
  • answer वापस करें

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    uint32_t reverseBits(uint32_t n) {
        uint32_t ans = 0;
        for(int i = 31; i >= 0; i--){
            ans |= (n & 1) <<i;
            n>>=1;
        }
        return ans;
    }
};

main(){
    Solution ob;
    cout << ob.reverseBits(0b00000000000000000000001001110100);
}

इनपुट

0b00000000000000000000001001110100

आउटपुट

775946240

  1. C++ STL में List reverse फ़ंक्शन C++ STL में List reverse फ़ंक्शन

    STL में List क्या हैList एक डेटा संरचना है जो अनुक्रम में कहीं भी निरंतर समय सम्मिलन और विलोपन की अनुमति देती है। Lists को डबल लिंक्ड सूचियों के रूप में कार्यान्वित किया जाता है। Lists गैर-सन्निकट मेमोरी आवंटन की अनुमति देती हैं। List सरणी, वेक्टर और deque की तुलना में किसी भी स्थिति में तत्व के सम्

  1. - C++ प्रोग्राम: संख्या को उल्टा करें

    परिचयसंख्या को उल्टा करने का अर्थ है उसके अंकों को उल्टे क्रम में संग्रहीत करना। उदाहरण के लिए: यदि संख्या 6529 है, तो आउटपुट में 9256 प्रदर्शित होगा। उदाहरण#include <iostream> using namespace std; int main() { int num = 63972, rev = 0; while (num > 0) { rev = rev * 10 + nu

  1. - धनात्मक पूर्णांक के बिट्स को उल्टा करने के लिए पायथन प्रोग्राम

    समस्या विवरण सबसे पहले bin() फंक्शन का उपयोग करके संख्या को बाइनरी में बदलें। फिर बाइनरी प्रतिनिधित्व के पहले दो वर्ण छोड़ें क्योंकि bin() बाइनरी प्रतिनिधित्व में 0b प्रीफिक्स जोड़ता है और शेष भाग को उल्टा करें। फिर वर्ण से उल्टा करें जब तक बाएं से दूसरा अंतिम वर्ण न हो। उल्टे बाइनरी स्ट्रिंग को पूर