इसका इस्तेमाल कैसे करें
- संख्या संख्या या बिट में लिखें। बिट के लिए किस रूप में लिखा है में हेक्साडेसिमल या बाइनरी चुनें।
- चौड़ाई चुनें: कंप्यूटर कितने बिट रखता है, 8, 16, 32 या 64।
- रखा गया पैटर्न टू कॉम्प्लिमेंट बिट में पढ़ें, और बाकी दो प्रणालियों के लिए रूप तुलना में।
- अगर जाँच कहे कि संख्या नहीं आती, तो दिखाए गए बिट वही हैं जो कंप्यूटर उसकी जगह रखता।
ऋणात्मक संख्या कैसे रखी जाती है
कंप्यूटर साइन वाला पूर्णांक तय संख्या के बिट में रखता है। टू कॉम्प्लिमेंट में सबसे ऊपर का बिट −2^(n−1) दर्शाता है, और बाकी बिट हमेशा की तरह जुड़ते हैं। −5 को 8 बिट में लिखने के लिए 5 को 00000101 लिखें, हर बिट उलटें, और 1 जोड़ें: 11111010 + 1 = 11111011।
−5 → 00000101 → 11111010 → 11111011 (हेक्साडेसिमल में FB)
वन्स कॉम्प्लिमेंट और साइन-मैग्नीट्यूड
- वन्स कॉम्प्लिमेंट परिमाण का हर बिट उलटता है: −5 के लिए 11111010।
- साइन-मैग्नीट्यूड परिमाण रखता है और सबसे ऊपर का बिट साइन बनता है: −5 के लिए 10000101।
- दोनों में दो शून्य होते हैं। वन्स कॉम्प्लिमेंट में सारे एक, और साइन-मैग्नीट्यूड में अकेला साइन बिट, −0 हैं।
- टू कॉम्प्लिमेंट में एक शून्य होता है, और धनात्मक से एक ज्यादा ऋणात्मक मान। ज्यादातर प्रोसेसर पूर्णांकों के लिए यही प्रणाली इस्तेमाल करते हैं।
सीमा और ओवरफ़्लो
n बिट में टू कॉम्प्लिमेंट की सीमा −2^(n−1) से 2^(n−1) − 1 है: 8 बिट के लिए −128 से 127, और 32 बिट के लिए −2,14,74,83,648 से 2,14,74,83,647। सीमा से बाहर का मान घूम जाता है: 200 को आठ बिट चाहिए और वह −56 पढ़ा जाता है, क्योंकि 11001000 टू कॉम्प्लिमेंट में −56 है।
इस टूल में क्या नहीं है
- अंकगणित: टूल दिखाता है कि संख्या कैसे रखी जाती है, न कि दो संख्याएँ जोड़ने या गुणा करने का परिणाम।
- दशमलव भिन्नांश और फ़्लोटिंग-पॉइंट संख्याएँ, जिनका अपना फ़ॉर्मेट है: IEEE 754 कन्वर्टर देखें।
- ऐसी भाषाएँ जो ओवरफ़्लो पर घूमने के बजाय त्रुटि देती हैं। टूल घूमा हुआ परिणाम दिखाता है, और उसे चिह्नित करता है।
हल किया हुआ उदाहरण: 8 बिट में −5
किस रूप में लिखा है दशमलव और चौड़ाई 8 बिट पर सेट करके −5 लिखें। टू कॉम्प्लिमेंट का पैटर्न 11111011 है, जो हेक्साडेसिमल में FB और बिना साइन वाली संख्या के रूप में 251 है।
उसी −5 के बाकी दो प्रणालियों में रूप: वन्स कॉम्प्लिमेंट 11111010 है और साइन-मैग्नीट्यूड 10000101।
| प्रणाली | बिट | हेक्स | मान |
|---|---|---|---|
| टू कॉम्प्लिमेंट | 1111 1011 | FB | −5 |
| वन्स कॉम्प्लिमेंट | 1111 1010 | FA | −5 |
| साइन-मैग्नीट्यूड | 1000 0101 | 85 | −5 |
| बिना साइन वाली | 1111 1011 | FB | 251 |
अक्सर पूछे जाने वाले सवाल
कंप्यूटर ऋण चिह्न की जगह टू कॉम्प्लिमेंट क्यों इस्तेमाल करते हैं?
ऋण चिह्न के लिए हर जोड़ने वाले सर्किट में अलग नियम चाहिए होता। टू कॉम्प्लिमेंट में जोड़ और घटाना ऋणात्मक और धनात्मक संख्याओं के लिए एक ही तरीके से चलते हैं, और सिर्फ एक शून्य होता है।
ऋणात्मक सीमा धनात्मक सीमा से एक मान ज्यादा क्यों है?
शून्य 2^n पैटर्न में से एक लेता है, इसलिए धनात्मक मान 1 से 2^(n−1) − 1 तक चलते हैं और ऋणात्मक मान −2^(n−1) तक जाते हैं। 8 बिट में अतिरिक्त मान −128 है, जिसका कोई धनात्मक जोड़ीदार नहीं।
इस पेज पर ओवरफ़्लो का क्या मतलब है?
संख्या को चौड़ाई से ज्यादा बिट चाहिए। पेज वे बिट दिखाता है जो चौड़ाई रखती, और जाँच की पंक्ति बताती है कि मान नहीं आता। जैसे 8 बिट में 128 10000000 रखता है, जो −128 पढ़ा जाता है।
टूल 64 बिट के लिए सटीक पूर्णांक क्यों इस्तेमाल करता है?
JavaScript की संख्या 2^53 तक ही सटीक है, और 64-बिट मान 2^64 तक जाते हैं। पेज BigInt इस्तेमाल करता है, इसलिए हर बिट रहता है, और सीमा −9223372036854775808 सटीक दिखती है।
क्या Java अपने पूर्णांकों के लिए टू कॉम्प्लिमेंट इस्तेमाल करता है?
हाँ। Java Language Specification अपने पूर्णांक प्रकार टू कॉम्प्लिमेंट में परिभाषित करता है, इसलिए int टू कॉम्प्लिमेंट के 32 बिट है और long उसके 64 बिट।
स्रोत
आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।