मुख्य सामग्री पर जाएँ
CalcMax

बाइनरी कैलकुलेटर

नतीजा

10001

बाइनरी

दशमलव
17
हेक्साडेसिमल
11
शेषफल
0

बाइनरी कैलकुलेटर आधार-2 में लिखी संख्याओं का जोड़, घटाव, गुणा और भाग करता है, और जवाब एक ही बार में बाइनरी, दशमलव तथा हेक्साडेसिमल — तीनों रूपों में दिखाता है। आधार-2 में सिर्फ़ 0 और 1 अंक चलते हैं, और गणित वही है जो आप पहले से जानते हैं; बदलता सिर्फ़ यह है कि कैरी कहाँ होती है। दशमलव में 9 में 1 जोड़ने पर कैरी इसलिए बनती है कि आधार दस है, और बाइनरी में 1 में 1 जोड़ने पर कैरी इसलिए बनती है कि आधार दो है। यही एक तथ्य पूरा बाइनरी जोड़ है, और घटाव, गुणा तथा भाग उसी से उसी तरह निकलते हैं जैसे आप अपेक्षा करेंगे। जवाब तीन बार इसलिए छपता है कि तीनों पढ़त अलग-अलग काम आती हैं: बाइनरी वह है जिसके लिए आप आए थे, दशमलव वह जिसे एक नज़र में जाँचा जा सकता है, और हेक्साडेसिमल वही बिट चार-चार के समूह में — मशीन कोड लिखने वाला हर व्यक्ति उन्हें इसी रूप में पढ़ता है। भाग यहाँ पूर्णांक भाग है, इसलिए शेषफल दशमलव बिंदु में गुम होने के बजाय अपनी अलग पंक्ति पाता है।

फ़ॉर्मूला

1011 + 110 = 10001 (11 + 6 = 17)

1011
पहली संख्या, आधार-2 में लिखी। इसे आधार-2 की तरह पढ़ना ही उसे ग्यारह बनाता है — वही अंक अगर दशमलव की तरह पढ़े जाएँ तो एक हज़ार ग्यारह बनते हैं, और यही वह भूल है जिसे रोकने के लिए यह पेज है
+ − × ÷
क्रिया। यह अंक-दर-अंक बिल्कुल वैसे ही चलती है जैसे दशमलव में, बस जहाँ-जहाँ कैरी या उधार होता है वहाँ दस की जगह दो काम करता है
1 + 1 = 10
बाइनरी गणित का इकलौता तथ्य जो पहले से परिचित नहीं है। दो एक से शून्य बनता है और एक अगले स्थान में कैरी हो जाता है, क्योंकि अंक एक के बाद ख़त्म हो जाते हैं। तीन एक से 11 बनता है — जवाब में एक, और एक कैरी
अंक × 2ⁿ का योग
दशमलव पढ़त कैसे निकलती है: हर बाइनरी अंक को उसके स्थानीय मान से गुणा कीजिए और परिणाम जोड़ दीजिए। 10001 इसी तरह सत्रह निकलता है, और बाइनरी जवाब से दशमलव जवाब तक जाने का यही इकलौता रास्ता है
शेषफल
जब भाग पूरा-पूरा न बैठे तो जो बचता है। 1011 को 10 से भाग देने पर 101 मिलता है और 1 बचता है, क्योंकि ग्यारह में पाँच दो और एक और आता है। शेषफल हमेशा दिखाया जाता है, और बाक़ी तीन क्रियाओं में वह शून्य रहता है क्योंकि वे शेष छोड़ ही नहीं सकतीं
53 बिट
यह पेज कितनी चौड़ाई का इनपुट लेता है: 9007199254740991 तक, जो बाइनरी में एक के बाद तिरपन अंक है। उस चौड़ाई के आगे मशीन की संख्या अपने पड़ोसी पूर्णांकों में फ़र्क़ नहीं कर पाती, और गणित चुपचाप अचूक रहना बंद कर देता

बाइनरी पढ़ने या लिखने वाले को यह पेज उसी वजह से चाहिए जिस वजह से दशमलव कैलकुलेटर चाहिए: गणित कठिन नहीं है, पर हाथ से करना धीमा है और ग़लतियाँ दिखती नहीं। रोज़मर्रा के इस्तेमाल हैं हार्डवेयर रजिस्टर या बिटमास्क पढ़ना — 1011 AND कुछ, या किसी स्टेटस बाइट में कौन-कौन से फ़्लैग सेट हैं — और कंपाइलर, डीबगर या नेटवर्क टूल के छापे किसी बाइनरी मान की जाँच करना। सबनेट मास्क, फ़ाइल की अनुमति-बिट, CPU स्टेटस रजिस्टर का फ़्लैग कॉलम और माइक्रोकंट्रोलर के पिन की अवस्थाएँ — ये सब बाइनरी संख्याएँ हैं जिन पर लोगों को गणित करना पड़ता है, और जवाब के बग़ल में छपी हेक्साडेसिमल पढ़त वही रूप है जिसमें ये मान असल में दस्तावेज़ों में लिखे जाते हैं। दूसरा इस्तेमाल सीखना है: कैरी का नियम वह चीज़ है जो हर किसी से काग़ज़ पर ठीक एक बार ग़लत होती है, और 1011 में 110 जोड़कर 10001 बनते देख लेना किताब के हल किए उदाहरण से ज़्यादा तेज़ी से वह भूल सुधारता है। हाथ से आधार-आधार की संख्याएँ करने वाले विद्यार्थियों और मशीन कोड की सूची को जाँचने लायक़ रूप में बदलने वाले किसी भी व्यक्ति के लिए दशमलव और हेक्साडेसिमल पढ़तें ही ज़्यादातर काम कर देती हैं।

हल किए हुए उदाहरण

  1. 1011 और 110 का जोड़

    1. दोनों संख्याओं को दाईं ओर से सीध में लगाइए: 1011 और 0110
    2. सबसे दाहिना कॉलम: 1 + 0 = 1
    3. अगला कॉलम: 1 + 1 = 10, यानी 0 लिखिए और 1 कैरी कीजिए
    4. अगला कॉलम: 0 + 1 + कैरी किया हुआ 1 = 10, यानी 0 लिखिए और 1 कैरी कीजिए
    5. सबसे बायाँ कॉलम: 1 + कैरी किया हुआ 1 = 10, यानी 0 लिखिए और 1 नए स्थान में कैरी कीजिए
    6. परिणाम 10001 पढ़ा जाता है, जो दशमलव में 16 + 1 = 17 है

    यह पेज का शुरुआती उदाहरण है और कैरी का नियम चलते हुए देखने का सबसे तेज़ तरीक़ा: जोड़ दोनों इनपुट से लंबा है क्योंकि आख़िरी कैरी को अपना अलग स्थान चाहिए था। दशमलव पढ़त 17 ही जाँच है — 11 में 6 जोड़ने पर सचमुच 17 ही होता है — और हेक्साडेसिमल 11 वही बिट चार-चार में हैं, इसीलिए वह संयोग से दशमलव ग्यारह जैसा दिखता है। संख्याएँ बड़ी होते ही यह संयोग ग़ायब हो जाता है।

  2. 1011 को 10 से भाग

    1. यह ग्यारह को दो से भाग देना है, इसलिए जवाब पाँच है और एक बचता है
    2. पाँच बाइनरी में 101 है, और एक 1 है
    3. पेज भागफल 101 और शेषफल 1 बताता है, 101.1 नहीं छापता

    यह वह उदाहरण है जो दिखाता है कि शेषफल की पंक्ति क्यों मौजूद है। सिर्फ़ भागफल छापने पर 101 कहता कि ग्यारह को दो से भाग देने पर पाँच मिलता है, और नीचे की पंक्ति ही इस कथन को सच बनाती है। यहाँ दशमलव बिंदु तक न पहुँचने की दूसरी वजह भी है: जिस पल परिणाम में भिन्नात्मक भाग आ जाए, गणित का ख़त्म होना तय नहीं रहता — बाइनरी में एक को तीन से भाग देने पर दशमलव कभी ख़त्म नहीं होता — और इस पेज के इनपुट तथा आउटपुट सब पूर्णांक हैं।

  3. 110 में से 1011 घटाना

    1. यह छह में से ग्यारह घटाना है, इसलिए जवाब ऋणात्मक होगा
    2. अंतर पाँच है, और चिह्न परिणाम के आगे लगा दिया जाता है
    3. पाँच 101 है, इसलिए जवाब -101 है

    यहाँ दो का पूरक (two's complement) कहीं नहीं आता — वह योजना प्रोसेसर ऋणात्मक संख्याएँ रखने के लिए इस्तेमाल करता है। ऋण चिह्न संख्या के आगे एक चिह्न की तरह रखा जाता है, यानी वही रूप जो कोई व्यक्ति काग़ज़ पर लिखता है और जो दशमलव तथा हेक्साडेसिमल पढ़तों के बग़ल में पढ़ने लायक़ बना रहता है। उसी मान का मशीन-रूप एक तय चौड़ाई का बिट-पैटर्न होता, और वह चौड़ाई इस पेज के पास नहीं है।

सीमाएँ

यह पेज सिर्फ़ पूर्ण संख्याओं पर काम करता है। यहाँ कोई बाइनरी बिंदु नहीं है और कोई भिन्नात्मक बाइनरी नहीं, इसलिए 1.01 स्वीकार नहीं होता — जिसका मतलब यह भी है कि जो भाग पूरा-पूरा नहीं बैठता उसमें दशमलव विस्तार के बजाय भागफल और शेषफल मिलते हैं, और भागफल शून्य की ओर काटा जाता है, पूर्णांकित नहीं। इनपुट 9007199254740991 तक सीमित हैं, यानी बाइनरी में एक के बाद तिरपन अंक; उससे आगे गणना के अचूक रहने की गारंटी नहीं दी जा सकती, और इतना बड़ा इनपुट अनुमान लगाने के बजाय अस्वीकार कर दिया जाता है। परिणाम भी उसी छत तक सीमित हैं, इसलिए जो गुणा उससे ऊपर चला जाए वह ग़लत संख्या देने के बजाय त्रुटि बताता है। ऋणात्मक संख्याएँ दो के पूरक में नहीं, आगे ऋण चिह्न लगाकर लिखी जाती हैं, और कोई तय बिट-चौड़ाई न दी जाती है न मानी जाती है: यहाँ 1011 चार बिट है, किसी रजिस्टर के निचले चार बिट नहीं। शून्य से भाग देने से इनकार किया जाता है।

अक्सर पूछे जाने वाले सवाल

1 + 1 का जवाब 10 क्यों होता है, 2 क्यों नहीं?
क्योंकि आधार-2 में दो के लिए कोई अंक नहीं है। अंक सिर्फ़ 0 और 1 हैं और उसके बाद वह कॉलम ख़त्म हो जाता है, ठीक वैसे ही जैसे दशमलव में इकाई का कॉलम 9 के बाद ख़त्म हो जाता है। इसलिए दो एक उस कॉलम में शून्य बनाते हैं और अगले कॉलम में एक कैरी करते हैं, जिसे 10 लिखा जाता है — और यह दशमलव के 9 + 1 = 10 जितना ही सच है, बस आधार बदला हुआ है। तीन एक से 11 बनता है: जवाब में एक, और एक कैरी।
जोड़ने या गुणा करने पर भी शेषफल की पंक्ति हमेशा क्यों दिखती है?
क्योंकि परिणाम पैनल एक तय सूची है, ऐसी सूची नहीं जो आपकी चुनी हुई क्रिया के साथ घटती-बढ़ती हो, और जो पंक्ति आती-जाती रहे वह उस पंक्ति से पढ़ने में कठिन है जो हमेशा एक ही जगह रहती है। पूर्ण संख्याओं में घटाना, जोड़ना और गुणा करना शेष नहीं छोड़ सकते, इसलिए वहाँ वह शून्य पढ़ा जाता है — यह शून्य यह बताती पंक्ति है कि क्रिया ने कुछ नहीं छोड़ा, यह नहीं कि गणना नहीं हुई। यहाँ शेष छोड़ने वाली अकेली क्रिया भाग है, और यही पंक्ति कटे हुए भागफल को सटीक जवाब जैसा दिखने से रोकती है।
सबसे बड़ी संख्या कौन-सी डाल सकता हूँ?
9007199254740991, जो बाइनरी में तिरपन एक है, या हेक्साडेसिमल में 1FFFFFFFFFFFFF। यह सीमा वह चौड़ाई है जिसके आगे मशीन पड़ोसी पूर्ण संख्याओं में फ़र्क़ नहीं कर पाती, इसलिए उसके आगे गणित चुपचाप अचूक रहना बंद कर देता — परिणाम किसी संख्या जैसा दिखेगा और संख्या नहीं होगा। इससे चौड़ा इनपुट काटे या पूर्णांकित किए बजाय एक संदेश के साथ अस्वीकार कर दिया जाता है, और उसी छत से ऊपर जाने वाला परिणाम भी अस्वीकार होता है।
क्या घटाकर ऋणात्मक जवाब मिल सकता है?
हाँ। बड़ी संख्या दूसरे ख़ाने में डालिए और जवाब तीनों पढ़तों में आगे ऋण चिह्न लगाकर आएगा। यह दो का पूरक नहीं है — यानी वह रूप जिसमें प्रोसेसर किसी ऋणात्मक संख्या को तय चौड़ाई के बिट में रखता है — यह आगे-चिह्न वाला रूप है, यानी वही जो आप काग़ज़ पर लिखते और जो दशमलव तथा हेक्साडेसिमल पढ़त के बग़ल में पढ़ा जा सकता है। कोई बिट-चौड़ाई नहीं मानी जाती, इसलिए ऋणात्मक जवाब एक के पैटर्न में लपेटा नहीं जाता।
भाग सटीक क्यों नहीं होता?
क्योंकि यह पेज पूर्ण संख्याओं पर काम करता है, इसलिए जो भाग बराबर नहीं बैठता उसमें शून्य की ओर काटा हुआ भागफल और उसके साथ शेषफल मिलता है। ग्यारह को दो से भाग देने पर पाँच और शेष एक मिलता है, और पेज 101.1 के बजाय 101 तथा 1 बताता है। यह कमी नहीं, जान-बूझकर लिया गया फ़ैसला है: जिस पल परिणाम में भिन्नात्मक भाग आ जाए, गणित का ख़त्म होना तय नहीं रहता — बाइनरी में एक को तीन से भाग देने पर दशमलव दोहराता रहता है — और जो पेज इसे चुपचाप पूर्णांकित कर दे वह ऐसी संख्या छापेगा जो जवाब नहीं है।
हेक्साडेसिमल पढ़त किस काम की है?
वही मान चार-चार बिट के समूह में है, और मशीन कोड लिखने वाले बाइनरी इसी तरह पढ़ते हैं। एक बाइट आठ बिट की होती है यानी ठीक दो हेक्साडेसिमल अंक, इसलिए FF, 2A और B2 वही रूप हैं जो दस्तावेज़ों, डीबगरों और डेटा शीटों में दिखते हैं। बाइनरी और हेक्साडेसिमल के बीच बदलना असल में कोई गणना नहीं है — वह सिर्फ़ फिर से समूह बनाना है, इसीलिए यहाँ वह पढ़त मुफ़्त मिलती है।

संदर्भ

इससे जुड़े कैलकुलेटर