Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी/सी++ में पूर्णांक अतिप्रवाह का पता कैसे लगाएं?


एकमात्र सुरक्षित तरीका अतिप्रवाह होने से पहले इसकी जांच करना है। हालांकि पूर्णांक अतिप्रवाह की जांच के कुछ हैकी तरीके हैं। इसलिए यदि आप अहस्ताक्षरित int अतिरिक्त में अतिप्रवाह का पता लगाने का लक्ष्य रखते हैं, तो आप जांच सकते हैं कि परिणाम वास्तव में जोड़े गए मानों से कम है या नहीं। तो उदाहरण के लिए,

उदाहरण कोड

unsigned int x, y;
unsigned int value = x + y;
bool overflow = value < x; // Alternatively "value < y" should also work

ऐसा इसलिए है क्योंकि यदि x और y दोनों अहस्ताक्षरित हैं, यदि जोड़ा जाता है और वे अतिप्रवाह करते हैं, तो उनके मान उनमें से किसी से भी अधिक नहीं हो सकते हैं क्योंकि इसे चारों ओर लपेटने और आगे बढ़ने में सक्षम होने के लिए अधिकतम संभव अहस्ताक्षरित int से अधिक होने की आवश्यकता होगी। इन मूल्यों में से।

दूसरा तरीका यह है कि आप अपने सीपीयू में ओवरफ्लो फ्लैग को आजमाएं और एक्सेस करें। कुछ कम्पाइलर उस तक पहुँच प्रदान करते हैं जिसका आप परीक्षण कर सकते हैं लेकिन यह मानक नहीं है।


  1. सी/सी++ में प्रीप्रोसेसर कैसे काम करता है?

    यहां हम देखेंगे कि प्रीप्रोसेसर सी या सी ++ में कैसे काम कर रहे हैं। आइए देखें कि प्रीप्रोसेसर क्या हैं। प्रीप्रोसेसर निर्देश हैं, जो वास्तविक संकलन शुरू होने से पहले जानकारी को प्रीप्रोसेस करने के लिए कंपाइलर को निर्देश देते हैं। सभी प्रीप्रोसेसर निर्देश # से शुरू होते हैं, और एक लाइन पर प्रीप्रो

  1. कैसे जांचें कि कोई सी/सी ++ स्ट्रिंग एक int है या नहीं?

    यह जांचने के कई तरीके हैं कि स्ट्रिंग एक इंट है या नहीं और उन तरीकों में से एक है स्ट्रिंग की जांच के लिए isdigit() का उपयोग करना। यह जांचने के लिए यहां एक उदाहरण दिया गया है कि स्ट्रिंग एक int है या नहीं C++ भाषा में, उदाहरण #include<iostream> #include<string.h> using namespace std; i

  1. सी ++ में पूर्णांक अतिप्रवाह का पता कैसे लगाएं?

    एकमात्र सुरक्षित तरीका अतिप्रवाह होने से पहले इसकी जांच करना है। हालांकि पूर्णांक अतिप्रवाह की जांच के कुछ हैकी तरीके हैं। इसलिए यदि आप अहस्ताक्षरित int अतिरिक्त में अतिप्रवाह का पता लगाने का लक्ष्य रखते हैं, तो आप जांच सकते हैं कि परिणाम वास्तव में मूल्य वर्धित से कम है या नहीं। तो उदाहरण के लिए, u