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

C++ में बिटवाइज़ ऑपरेटर का उपयोग करके किसी भी संख्या को गुणा करें

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दिए गए दो नंबरों को बिटवाइज़ ऑपरेटरों का उपयोग करके गुणा करता है।

बाएं शिफ्ट (<<) गुणन के लिए ऑपरेटर का उपयोग किया जाता है जबकि राइट शिफ्ट (>>) विभाजन के लिए प्रयोग किया जाता है।

दो संख्याओं का गुणन x, y x * y =(x * 2) * (y / 2) . के रूप में लिखा जा सकता है यदि y और भी है तो यह x * y =(x * y) * (y / 2) + x के बराबर है।

इसलिए जब भी दूसरी संख्या विषम हो जाए, तो पहली संख्या को परिणाम में जोड़ें। आइए समस्या को हल करने के लिए चरणों को देखें।

एल्गोरिदम

  • दो नंबर शुरू करें।
  • एक लूप लिखें जो दूसरी संख्या के 0 होने तक पुनरावृति करता है।
    • यदि दूसरी संख्या विषम है, तो परिणाम में पहली संख्या जोड़ें।
    • बाएं शिफ्ट पहले नंबर पर 1 बिट।
    • दूसरी संख्या को 1 बिट से दायाँ शिफ्ट करें।

कार्यान्वयन

C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है

#include <bits/stdc++.h>
using namespace std;
int multiplyTwoNumbers(int a, int b) {
   int result = 0;
   while (b > 0) {
      if (b & 1) {
         result += a;
         }
      a = a << 1;
      b = b >> 1;
   }
   return result;
}
int main() {
   cout << multiplyTwoNumbers(75, 4) << endl;
   cout << multiplyTwoNumbers(90, 9) << endl;
   cout << multiplyTwoNumbers(83, 66) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

300
810
5478

  1. सी ++ में टर्नरी ऑपरेटर का उपयोग करके सबसे बड़ी संख्या खोजने का कार्यक्रम

    इस समस्या में हमें कुछ अंक दिए गए हैं। हमारा काम एक C++ में टर्नरी ऑपरेटर का उपयोग करके सबसे बड़ी संख्या खोजने के लिए प्रोग्राम बनाना है। । तत्व हो सकते हैं - दो नंबर तीन नंबर चार नंबर कोड विवरण - यहाँ, हमें कुछ संख्याएँ (दो या तीन या चार) दी गई हैं। हमें टर्नरीऑपरेटर . का उपयोग करके इन संख्याओं

  1. C++ का उपयोग करते हुए n के बराबर योग के साथ शक्ति शर्तों की न्यूनतम संख्या।

    समस्या कथन दो धनात्मक पूर्णांक N और X दिए गए हैं। कार्य N को X (X0 + X1 +…..+ Xn) की घातों के योग के रूप में व्यक्त करना है ताकि X की घातों की संख्या न्यूनतम हो। योग को N के बराबर बनाने के लिए उपयोग की जाने वाली N की न्यूनतम संख्या को प्रिंट करें। यदि N =15 और X =3 तो हमें 3 की 3 घातों की आवश्यकत

  1. '-' ऑपरेटर का उपयोग करके दो संख्याओं का जोड़?

    C++ में ऑपरेटर ओवरलोडिंग एक महत्वपूर्ण अवधारणा है। यह एक प्रकार का बहुरूपता है जिसमें एक ऑपरेटर को उपयोगकर्ता-परिभाषित अर्थ देने के लिए अतिभारित किया जाता है। ओवरलोडेड ऑपरेटर का उपयोग उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार पर ऑपरेशन करने के लिए किया जाता है। उदाहरण के लिए, + ऑपरेटर को विभिन्न डेटा प