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

C++ में बेस -2 में कनवर्ट करें

मान लीजिए कि हमारे पास एक संख्या एन है, हमें "0" और "1" से मिलकर एक स्ट्रिंग ढूंढनी है जो आधार -2 (ऋणात्मक दो) में इसके मान का प्रतिनिधित्व करती है। लौटाई गई स्ट्रिंग में कोई अग्रणी शून्य नहीं होना चाहिए, जब तक कि स्ट्रिंग बिल्कुल "0" न हो। तो अगर इनपुट 2 जैसा है, तो आउटपुट "110" होगा, जैसे (-2)^2 + (-2)^1 + (-2)^0 =2।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • रिट:=एक खाली स्ट्रिंग

  • अगर एन =0, तो "0" लौटाएं

  • जबकि N गैर 0 है

    • रेम:=एन मॉड (- 2)

    • एन:=एन / (-2)

    • अगर रेम <0 और रेम:=रेम + 2 और एन को 1 से बढ़ाएं

    • रिट:=रिट + रेम स्ट्रिंग के रूप में

  • स्ट्रिंग को उल्टा करें रिट

  • वापसी सेवानिवृत्त।

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   string baseNeg2(int N) {
      string ret = "";
      if(N == 0) return "0";
      while(N){
         int rem = N % (-2);
         N /= -2;
         if(rem < 0) rem += 2, N++;
         ret += to_string(rem);
      }
      reverse(ret.begin(), ret.end());
      return ret;
   }
};
main(){
   Solution ob;
   cout << (ob.baseNeg2(17));
}

इनपुट

17

आउटपुट

10001

  1. सी++ में जंप गेम वी

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है जिसे arr और एक पूर्णांक d कहा जाता है। एक चरण में हम इंडेक्स i से − . पर जा सकते हैं i + x जहां:i + x

  1. C++ में लंबाई 'k' के सभी सबस्ट्रिंग को आधार 'b' से दशमलव में बदलें

    इस ट्यूटोरियल में, हम लंबाई k के सभी सबस्ट्रिंग को आधार b से दशमलव में बदलने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें कुछ निश्चित लंबाई की एक स्ट्रिंग प्रदान की जाएगी। हमारा काम के आकार के दिए गए स्ट्रिंग से सबस्ट्रिंग लेना और इसे आधार बी में होने से दशमलव संख्या में परिवर्तित करना है। उद

  1. C++ में किसी संख्या को ऋणात्मक आधार निरूपण में बदलें

    इस ट्यूटोरियल में, हम किसी संख्या को उसके ऋणात्मक आधार निरूपण में बदलने के कार्यक्रम पर चर्चा करेंगे। इसके लिए हमें एक संख्या और संबंधित ऋणात्मक आधार प्रदान किया जाएगा। हमारा काम दी गई संख्या को उसके ऋणात्मक आधार समतुल्य में बदलना है। हम नकारात्मक आधार मानों के लिए केवल -2 और -10 के बीच के मानों की