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

C++ में एक नया नंबर बनाने के लिए दो नंबरों के वैकल्पिक बिट्स

इस समस्या में, हमें दो संख्याओं के वैकल्पिक बिट्स का उपयोग करके एक संख्या उत्पन्न करने की आवश्यकता होती है . तो, इस समस्या में हम दूसरे नंबर से पहले बिट का उपयोग करेंगे, फिर पहले से दूसरे बिट का, दूसरे नंबर से तीसरा बिट फिर से और पहले से आगे और इसी तरह।

पहले से, तीसरा बिट फिर से दूसरे नंबर से और आगे पहले से और इसी तरह।

विषय को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं,

Input : n = 6 m = 10
Output : 2
Explanation :
Bits representation of 6 = 0110
Bit representation of 10 = 1010
0 1 1 0
^ ^
1 0 1 0
^ ^
= 0 0 1 0 = 2

अब, इस उदाहरण के माध्यम से, बात स्पष्ट है कि कोड को हल करने के लिए हमें क्या करने की आवश्यकता है। मूल रूप से समाधान दूसरे नंबर के एलएसबी से शुरू होने वाली संख्याओं से वैकल्पिक बिट्स लेना है।

इस समस्या को हल करने के लिए एक संभव तरीका यह है कि पहले नंबर के सेट सम बिट्स खोजें n और फिर दूसरे नंबर m . के सेट ऑड बिट खोजें और बिटवाइज OR . लौटाएं दोनों में से।

एल्गोरिदम

Step 1 : For n find the value of set even bits.
Step 2 : For m find the value of set odd bits.
Step 3 : Calculate the result = set even bits of n | set odd bits of m.
Step 4: Print the value of result.

उदाहरण

#include <iostream>
using namespace std;
int setevenbits(int n) ;
int setoddbits(int m) ;
int main(){
   int n = 12;
   int m = 17;
   int setn = setevenbits(n);
   int setm = setoddbits(m);
   int result = ( setn | setm );
   cout<<result;
   return 0;
}
int setevenbits(int n){
   int temp = n;
   int count = 0;
   int res = 0;
   for (temp = n; temp > 0; temp >>= 1) {
      if (count % 2 == 1)
         res |= (1 << count);
      count++;
   }
   return (n & res);
}
int setoddbits(int m){
   int count = 0;
   int res = 0;
   for (int temp = m; temp > 0; temp >>= 1) {
      if (count % 2 == 0)
         res |= (1 << count);
      count++;
   }
   return (m & res);
}

आउटपुट

25

  1. सी++ में डुडेनी नंबर्स

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या (विकिपीडिया)। नंबर हेनरी डुडेनी . द्वारा खोजा गया था . इसका गणितीय सूत्र है - यहाँ, हमें एक पूर्णांक n दिया गया है। हमारा काम जांच करना है कि दिया गया नंबर n एक डुडनी नंबर है या नहीं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: एन =17592 आ

  1. जांचें कि क्या कोई संख्या सी ++ में एक रहस्य संख्या है

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

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a