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

C++ में गुणन पर पूर्णांक अतिप्रवाह की जाँच करें

मान लीजिए हम दो संख्याओं ए और बी को गुणा करने के बाद परिणाम खोजना चाहते हैं। हमें यह जांचना होगा कि गुणा किया गया मान 64-बिट पूर्णांक से अधिक होगा या नहीं। यदि हम 100, और 200 को गुणा करते हैं, तो यह अधिक नहीं होगा, यदि हम 1000000000 और 10000000000 गुणा करते हैं, तो यह अतिप्रवाह होगा।

इसे चेक करने के लिए हमें कुछ स्टेप्स फॉलो करने होंगे। ये नीचे की तरह हैं -

चरण -

  • यदि संख्याओं में से कोई भी 0 है, तो यह अधिक नहीं होगी

  • अन्यथा, यदि दो के गुणनफल को एक से विभाजित करके दूसरे के बराबर किया जाता है, तो यह अधिक नहीं होगा

  • कुछ अन्य मामलों के लिए, यह पार हो जाएगा।

उदाहरण

#include <iostream>
#include <cmath>
using namespace std;
bool isMulOverflow(long long A, long long B) {
   if (A == 0 || B == 0)
      return false;
   long long result = A * B;
   if (A == result / B)
      return false;
   else
      return true;
}
int main() {
   long long a = 10000000000 , b = -10000000000;
   if(isMulOverflow(a, b)){
      cout <<"It will overflow";
   }
   else{
      cout <<"It will not overflow";
   }
}

आउटपुट

It will overflow

  1. सी ++ में अहस्ताक्षरित पूर्णांक के लिए डिवीजन एल्गोरिदम बहाल करना

    एक विभाजन एल्गोरिथ्म का उपयोग करके एक अहस्ताक्षरित पूर्णांक को विभाजित करने पर चर्चा करें। कुछ डिवीजन एल्गोरिदम कागज पर लागू होते हैं, और अन्य डिजिटल सर्किट पर लागू होते हैं। डिवीजन एल्गोरिदम दो प्रकार के होते हैं:स्लो डिवीजन एल्गोरिथम और फास्ट डिवीजन एल्गोरिथम। स्लो डिविजन एल्गोरिथम में रिस्टोरिंग,

  1. C++ में एक बाइनरी ट्री में चिल्ड्रन सम प्रॉपर्टी की जाँच करें

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। बाइनरी ट्री तब मान्य होता है जब वह निम्नलिखित गुणों से मिलता है। प्रत्येक नोड में बाएँ और दाएँ बच्चों के मानों के योग के समान डेटा मान होना चाहिए। अगर किसी भी तरफ बच्चे नहीं हैं, तो इसे 0 माना जाएगा। मान लीजिए नीचे की तरह एक पेड़ मौजूद है, जो दिए गए गुण स

  1. सरणी तत्वों के गुणन के लिए C++ प्रोग्राम

    पूर्णांक तत्वों की एक सरणी के साथ दिया गया और कार्य एक सरणी के तत्वों को गुणा करना और इसे प्रदर्शित करना है। उदाहरण Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 नीचे दिए गए कार्यक्रम में उपयोग क