मैंने इस उत्तर को छोड़ने का फैसला किया है क्योंकि सी और सी ++ कार्यान्वयन आमतौर पर निकटता से संबंधित हैं, लेकिन वास्तव में यह सी मानक के लिए स्थगित नहीं करता है जैसा कि मैंने सोचा था कि यह किया था। मुद्दा यह है कि C ++ मानक यह निर्दिष्ट नहीं करता है कि इन जैसे मामलों के लिए क्या होता है। यह भी प्रासंगिक है कि गैर-दो-पूरक प्रतिनिधित्व वास्तविक दुनिया में अत्यधिक दुर्लभ हैं, और यहां तक कि जहां वे मौजूद हैं वे अक्सर इसे उजागर करने के बजाय कई मामलों में अंतर छिपाते हैं क्योंकि कोई व्यक्ति आसानी से खोज करने की उम्मीद कर सकता है।
पूर्णांक निरूपणों में ऋणात्मक शून्य का व्यवहार जिसमें वे मौजूद हैं, सी + + मानक के रूप में कड़ाई से परिभाषित नहीं है क्योंकि यह सी मानक में है। हालांकि, यह सी मानक (आईएसओ / आईईसी 9899: 1999) को शीर्ष स्तर पर एक मानक संदर्भ के रूप में उद्धृत करता है [1.2]।
सी मानक में [६.२.६.२], एक नकारात्मक शून्य केवल बिटवाइज़ ऑपरेशंस या ऑपरेशन्स का परिणाम हो सकता है, जहाँ एक नकारात्मक शून्य पहले से ही मौजूद है (उदाहरण के लिए, एक मान द्वारा ऋणात्मक शून्य को गुणा या भाग करना, या ऋणात्मक शून्य को जोड़ना शून्य) - एक शून्य शून्य मान ऑपरेटर को एक सामान्य शून्य के मूल्य पर लागू करना, जैसा कि आपके उदाहरण में, इसलिए सामान्य शून्य में परिणाम की गारंटी है।
यहां तक कि उन मामलों में जो नकारात्मक शून्य उत्पन्न कर सकते हैं, इस बात की कोई गारंटी नहीं है कि वे नकारात्मक शून्य का समर्थन करने वाली प्रणाली पर भी करेंगे:
यह अनिर्दिष्ट है कि क्या ये मामले वास्तव में एक नकारात्मक शून्य या एक सामान्य शून्य उत्पन्न करते हैं, और क्या किसी वस्तु में संग्रहीत होने पर एक नकारात्मक शून्य एक सामान्य शून्य बन जाता है।
इसलिए, हम निष्कर्ष निकाल सकते हैं: नहीं, इस मामले का पता लगाने का कोई विश्वसनीय तरीका नहीं है। भले ही इस तथ्य के लिए नहीं कि आधुनिक कंप्यूटर सिस्टम में गैर-दो-पूरक प्रतिनिधित्व बहुत असामान्य हैं।
सी ++ मानक, इसके भाग के लिए, "नकारात्मक शून्य" शब्द का कोई उल्लेख नहीं करता है, और हस्ताक्षरित परिमाण और किसी के पूरक प्रतिनिधित्व के विवरण की बहुत कम चर्चा है, सिवाय नोट के [3.9.1 पैरा 7] कि उन्हें अनुमति है।