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 में कैरी-इन और कैरी-आउट ओवरफ़्लो का पता लगाने के लिए पर्याप्त हैं।
अतिप्रवाह का पता लगाने के लिए एक्सओआर गेट के ऊपर लागू किया जा सकता है।