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++ में टर्नरी ऑपरेटर का उपयोग करके सबसे बड़ी संख्या खोजने का प्रोग्राम

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

  1. - C++ में योग N के बराबर करने के लिए न्यूनतम घात पदों की संख्या

    समस्या कथन दो धनात्मक पूर्णांक N और X दिए गए हैं। कार्य N को X की घातों के योग (X⁰ + X¹ + ... + Xⁿ) के रूप में व्यक्त करना है ताकि X की घातों की संख्या न्यूनतम हो। N बनाने के लिए उपयोग की गई N की न्यूनतम घातों की संख्या प्रिंट करें। यदि N=15 और X=3, तो हमें 3 की 3 घातों की आवश्यकता है: 15 = 3² + 3¹

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

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