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

बाइनरी नंबर सिस्टम - सी/सी++ में अंकगणितीय जोड़ में अतिप्रवाह?

2 का कॉम्प्लीमेंट नंबर सिस्टम कंप्यूटर आर्किटेक्चर में व्यापक रूप से लागू किया गया है।

एन-बिट 2 की पूरक संख्या प्रणाली -2n-1 से 2n-1- 1 तक संख्या का प्रतिनिधित्व करने में सक्षम हो सकती है

4 बिट (-8 से 7) तक की संख्याओं का प्रतिनिधित्व करने में सक्षम हो सकता है

5 बिट 2 के पूरक प्रणाली में (-16 से 15) तक की संख्याओं का प्रतिनिधित्व करने में सक्षम हो सकता है।

जोड़ के संबंध में अतिप्रवाह तब होता है जब 2 एन-बिट 2 की पूरक संख्याएं जोड़ दी जाती हैं और उत्तर उस एन-बिट समूह में फिट होने के लिए बहुत बड़ा होता है।

एक कंप्यूटर में एन-बिट फिक्स्ड रजिस्टर होते हैं। दो N-Bit संख्या जोड़ने का परिणाम अधिकतम N+1 बिट संख्या होगा।

कैरी फ्लैग स्टोर करता है कि अतिरिक्त बिट। लेकिन कैरी हमेशा अतिप्रवाह निर्दिष्ट नहीं करता है।

अतिप्रवाह का पता लगाना

ओवरफ्लो तब होता है जब -

  • दो ऋणात्मक संख्याओं के योग का परिणाम धनात्मक होता है या

  • दो ऋणात्मक संख्याओं के योग का परिणाम ऋणात्मक होता है।

तो दो ऑपरेंड और परिणाम के सबसे महत्वपूर्ण बिट (एमएसबी) को सत्यापित करके अतिप्रवाह का पता लगाया जा सकता है। लेकिन 3-बिट तुलनित्र को लागू करने के बजाय ओवरफ्लो को एमएसबी से कैरी-इन और कैरी-आउट की पुष्टि करके 2 बिट तुलनित्र को लागू करने का भी पता लगाया जा सकता है। हम 2 के पूरक संख्या के एन-बिट जोड़ पर विचार करते हैं।

बाइनरी नंबर सिस्टम - सी/सी++ में अंकगणितीय जोड़ में अतिप्रवाह?


ओवरफ्लो तब होता है जब कैरी-इन कैरी-आउट के बराबर नहीं होता है। अतिप्रवाह के लिए उपरोक्त अभिव्यक्ति पर नीचे विश्लेषण से चर्चा की जा सकती है।

बाइनरी नंबर सिस्टम - सी/सी++ में अंकगणितीय जोड़ में अतिप्रवाह?


पहले चित्र के मामले में दो संख्याओं का MSB 0 है जो दर्शाता है कि वे धनात्मक हैं। यहां अगर कैरी-इन 1 है तो हमें परिणाम का MSB मिलता है क्योंकि 1 इंगित करता है कि परिणाम नकारात्मक (ओवरफ्लो) है और कैरी-आउट 0 के रूप में है। कैरी-इन कैरी-आउट के बराबर नहीं है इसलिए ओवरफ़्लो।

दूसरे चित्र के मामले में दो संख्याओं का MSB 1 है जो दर्शाता है कि वे ऋणात्मक हैं। यहां अगर कैरी-इन 0 है तो हमें एमएसबी का परिणाम मिलता है क्योंकि 0 इंगित करता है कि परिणाम सकारात्मक है (ओवरफ्लो) और कैरी-आउट 1 के रूप में। कैरी-इन कैरी-आउट के बराबर नहीं है इसलिए ओवरफ्लो।

इसलिए MSB में कैरी-इन और कैरी-आउट ओवरफ़्लो का पता लगाने के लिए पर्याप्त हैं।

बाइनरी नंबर सिस्टम - सी/सी++ में अंकगणितीय जोड़ में अतिप्रवाह?


अतिप्रवाह का पता लगाने के लिए एक्सओआर गेट के ऊपर लागू किया जा सकता है।


  1. सिस्टम () सी/सी++ में फंक्शन

    कार्य को देखते हुए सिस्टम () को C/C++ में दिखाना है। सिस्टम () फ़ंक्शन C/C++ मानक पुस्तकालय का एक हिस्सा है। इसका उपयोग उन कमांड को पास करने के लिए किया जाता है जिन्हें कमांड प्रोसेसर या ऑपरेटिंग सिस्टम के टर्मिनल में निष्पादित किया जा सकता है, और अंत में पूरा होने के बाद कमांड को वापस कर देता है।

  1. त्रिकोणीय माचिस की तीली संख्या के लिए C/C++ प्रोग्राम?

    एक त्रिभुज जो माचिस की तीलियों का उपयोग करके बनाया जाता है, एक समबाहु त्रिभुज बनाने की व्यवस्था करता है, इसे त्रिभुजाकार माचिस की संख्या कहा जाता है। त्रिकोणीय माचिस की तीलियों की संख्या माचिस की तीलियों को त्रिभुज बनाने के लिए आवश्यक है। इस समस्या में, हमारे पास संख्या एक माचिस की तीली का तल है, X

  1. सी/सी++ एनएच कैटलन नंबर के लिए प्रोग्राम?

    कैटलन संख्याएं संख्याओं का एक क्रम है। कैटलन संख्याएं प्राकृतिक संख्याओं का एक क्रम बनाती हैं जो गिनती की विभिन्न समस्याओं में होती हैं, जिनमें अक्सर पुनरावर्ती-परिभाषित वस्तुएं शामिल होती हैं। सीएन लंबाई 2n के डाइक शब्दों की संख्या है। एक डाइक शब्द एक स्ट्रिंग है जिसमें एन एक्स और एन वाई शामि