हेक्स कैलकुलेटर
नतीजा
हेक्साडेसिमल
- दशमलव
- 10,842
- बाइनरी
- 10101001011010
- शेषफल
- 0
हेक्स कैलकुलेटर हेक्साडेसिमल संख्याओं का जोड़, घटाव, गुणा और भाग करता है, और जवाब हेक्साडेसिमल, दशमलव और बाइनरी — तीनों में देता है। हेक्साडेसिमल आधार-16 है, यानी सोलह अंकों की शक्लें चाहिए जबकि दशमलव में दस होती हैं — तो जो छह कम पड़ती हैं वे अक्षरों से उधार ली जाती हैं, और A से F तक दस से पंद्रह तक के मान रखते हैं। लिखावट इतनी भर है: A कोई कोड या संक्षेप नहीं है, वह 9 के बाद आने वाला अंक है। चारों क्रियाएँ वही परिचित हैं: जोड़, घटाव, गुणा और भाग स्तंभ-दर-स्तंभ ठीक वैसे ही चलते हैं जैसे दशमलव में, बस आधार दस की जगह सोलह होता है, इसलिए कोई स्तंभ 9 के पार जाने पर नहीं, F के पार जाने पर कैरी उठाता है। जवाब तीन बार दिया जाता है क्योंकि तीनों पढ़तें अलग-अलग पाठकों के काम आती हैं: हेक्साडेसिमल वह रूप है जिसमें यह मान आमतौर पर लिखा जाता है, दशमलव वह जिसे ज़्यादातर लोग मन ही मन जाँच सकते हैं, और बाइनरी वे बिट हैं जो असल में नीचे बैठे हैं — यानी वही जगह जहाँ से हेक्साडेसिमल अंक आए थे। भाग पूर्णांकों का भाग है, इसलिए शेषफल को दशमलव बिंदु के बजाय अपनी अलग पंक्ति मिलती है। बड़े-छोटे अक्षरों में फ़र्क़ नहीं पड़ता: 2a3f और 2A3F एक ही संख्या हैं और दोनों चलते हैं, पर जवाब हमेशा बड़े अक्षरों में छपता है क्योंकि दस्तावेज़ उसी रूप में लिखे जाते हैं।
फ़ॉर्मूला
2A3F + 1B = 2A5A (10815 + 27 = 10842)
- 2A3F
- पहली संख्या, आधार-16 में लिखी हुई। यहाँ अक्षर अंक हैं: A दस, B ग्यारह, और इसी तरह F पंद्रह तक। A को इसके सिवा कुछ और पढ़ लेना वही ग़लती है जिसे रोकने के लिए यह पेज है
- + − × ÷
- क्रिया। यह स्तंभ-दर-स्तंभ ठीक वैसे ही चलती है जैसे दशमलव में, बस आधार दस की जगह सोलह होता है, इसलिए कोई स्तंभ F के पार जाते ही कैरी उठाता है
- F + 1 = 10
- इस आधार का कैरी नियम: पंद्रह में एक जोड़ने पर अंक ख़त्म हो जाते हैं और नया स्तंभ शुरू होता है। यह वही घटना है जो दशमलव में 9 + 1 = 10 है, बस एक आधार आगे
- अंक × 16ⁿ का योग
- दशमलव वाली पढ़त कैसे बनती है: हर अंक को उसके स्थानीय मान से गुणा कीजिए और सब जोड़ दीजिए। 2A3F इसी तरह 10815 बनता है — 8192 प्लस 2560 प्लस 48 प्लस 15
- प्रति अंक 4 बिट
- यह आधार आख़िर इस्तेमाल क्यों होता है। एक हेक्साडेसिमल अंक ठीक चार बाइनरी अंकों को समेटता है, इसलिए एक बाइट ठीक दो अंकों की होती है और दोनों लिखावटों के बीच जाने में कोई गणित नहीं, सिर्फ़ दोबारा समूहन लगता है
- शेषफल
- भाग पूरा न बैठने पर जो बचता है। यह पंक्ति हमेशा रहती है, और उन तीन क्रियाओं में 0 पढ़ती है जिनमें कुछ बच ही नहीं सकता — वहाँ शून्य का मतलब है कि क्रिया ने कुछ नहीं छोड़ा, यह नहीं कि पंक्ति भरनी रह गई
- 53 बिट
- यह पेज कितना बड़ा इनपुट लेता है: 9007199254740991 तक, जो यहाँ 1FFFFFFFFFFFFF है — चौदह अंक। इस चौड़ाई के आगे मशीन की संख्या अपने पड़ोसियों में फ़र्क़ नहीं कर पाती, और गणित चुपचाप ठीक होना बंद कर देता
हेक्साडेसिमल वही है जो बाइनरी तब दिखता है जब उसे किसी इंसान को पढ़ना पड़े। जहाँ भी कोई मान सोलह बिट या उससे चौड़ा हो — मेमोरी का पता, कोई रंग, कोई हैश, मशीन-कोड की सूची, यंत्र का रजिस्टर डंप, नेटवर्क का पैकेट कैप्चर — वह इसी आधार में छपता है, और उन मानों पर गणित करना उस स्तर पर काम करने वाले हर किसी का रोज़ का काम है। किसी पॉइंटर में ऑफ़सेट जोड़ना, किसी स्ट्रक्चर का आकार निकालना, चेकसम बनाना, डीबग करते हुए किसी पते की सीमा में आगे बढ़ते जाना, या यह देखना कि कोई मास्क कौन-से बिट लगाता है — ये सब वे काम हैं जो लोग हेक्साडेसिमल संख्याओं पर करते हैं, और जवाब के बग़ल छपी बाइनरी पढ़त ही नतीजे को उन फ़्लैग और खानों में वापस बदलती है जिनका वह असल में प्रतिनिधित्व करता है। डिज़ाइनर और फ़्रंट-एंड डेवलपर इसे रंगों के मानों में मिलते हैं, जहाँ हर चैनल की दो अंकों की जोड़ी ठीक वही बाइट है जो स्क्रीन माँगती है। पेज उलटी दिशा में भी काम आता है: दशमलव में ज्ञात कोई मान किसी विशिष्टि से मिलाने या किसी औज़ार में चिपकाने के लिए हेक्साडेसिमल में बदला जाता है, और बाइनरी पढ़त यह बता देती है कि असल में कौन-से बिट लगे हैं। संख्या-पद्धतियाँ सीखने वाले विद्यार्थियों को भी यही फ़ायदा मिलता है, क्योंकि अक्षर वह हिस्सा हैं जो तब तक मनमाने लगते हैं जब तक स्थानीय मान सामने न खोल दिए जाएँ।
हल किए हुए उदाहरण
2A3F और 1B जोड़ना
- दोनों संख्याएँ दाईं ओर से मिलाइए: 2A3F और 001B
- सबसे दाहिना स्तंभ: F + B, यानी 15 + 11 = 26 = 16 + 10, तो A लिखिए और 1 आगे भेजिए
- अगला स्तंभ: 3 + 1 + आगे भेजा गया 1 = 5, तो 5 लिखिए
- अगला स्तंभ: A + 0 = A, तो A लिखिए
- सबसे बायाँ स्तंभ: 2 + 0 = 2, तो 2 लिखिए
- नतीजा पढ़ा जाता है 2A5A, जो दशमलव में 10842 है
यही डिफ़ॉल्ट उदाहरण है, और यही अक्षर की सीमा पार करती हुई कैरी दिखाता है: F और B मिलकर छब्बीस बनते हैं, यानी एक सोलह और दस बचे, इसलिए लिखा जाने वाला अंक दो अंकों की संख्या नहीं, A है। बाइनरी पढ़त वही बिट हैं जो चार-चार में दोबारा समूहित हैं, और यह पूरी गणना की जाँच का अच्छा तरीक़ा है।
2A3F को 1B से भाग देना
- यह 10815 को 27 से भाग देने जैसा है
- 27, 10815 में ठीक चार सौ बार जाता है, और 15 बचता है
- चार सौ हेक्साडेसिमल में 190 है, और शेषफल पंद्रह यानी F
- पेज 190 बताता है और शेषफल F
यहाँ शेषफल F है, यानी पंद्रह — ऐसा मान जिसे अक्षर चाहिए, भले ही वह भाजक से छोटा है। यही उदाहरण उस हमेशा मौजूद शेषफल वाली पंक्ति को अपनी जगह लायक़ बनाता है: उसके बिना जवाब 190 पढ़ा जाता, और 400 गुना 27 यानी 10800 होता, 10815 नहीं।
छोटे अक्षरों में वही जोड़
- छोटे और बड़े अक्षर एक ही अंक हैं: a भी ठीक वही दस है जो A है
- गणित में कुछ नहीं बदलता, इसलिए जवाब भी वही 2A5A है
- इनपुट कैसे भी टाइप किया गया हो, पेज अपना जवाब बड़े अक्षरों में ही छापता है
यह जानना काम का है क्योंकि दोनों रिवाज़ रोज़ इस्तेमाल में हैं — रंगों के मान लगभग हमेशा छोटे अक्षरों में लिखे जाते हैं, जबकि डिसअसेंबलर और दस्तावेज़ बड़े अक्षर छापते हैं — और दोनों में से कोई ग़लत नहीं है। सिर्फ़ छपने वाला जवाब एक ढंग पर लाया जाता है, और वह ढंग बड़े अक्षरों वाला है।
सीमाएँ
यह पेज सिर्फ़ पूर्ण हेक्साडेसिमल संख्याओं पर काम करता है। यहाँ कोई हेक्साडेसिमल बिंदु नहीं है और भिन्नात्मक इनपुट नहीं है, इसलिए 2A.8 स्वीकार नहीं होता; जो भाग पूरा न बैठे उसका जवाब भिन्न की तरह नहीं, कटा हुआ भागफल और शेषफल की तरह मिलता है। इनपुट 1FFFFFFFFFFFFF तक सीमित हैं, यानी 9007199254740991 — वह चौड़ाई जहाँ मशीन की संख्या अपने पड़ोसियों में फ़र्क़ करना छोड़ देती है — और नतीजे भी उसी हद में रखे जाते हैं, इसलिए सीमा पार करने पर अंदाज़े का जवाब देने के बजाय वह बताया जाता है। ऋणात्मक नतीजे आगे ऋण चिह्न लेकर आते हैं, दो का पूरक बनकर नहीं, और कोई तय चौड़ाई मानी ही नहीं जाती: यहाँ 1B दो अंकों का मान है, किसी चीज़ का निचला बाइट नहीं। छोटे अक्षर स्वीकार होते हैं और जवाब बड़े अक्षरों में छपते हैं। शून्य से भाग अस्वीकार कर दिया जाता है। A-F के बाहर का कोई अक्षर, और 0-9 के बाहर का कोई अंक, दोनों अंक नहीं माने जाते। पेज तीन आधारों में गणित और बदलाव करता है; यह बिटवाइज़ क्रियाएँ नहीं करता, और यहाँ कोई AND, OR, XOR या शिफ़्ट नहीं है।
अक्सर पूछे जाने वाले सवाल
- इन अक्षरों का मतलब क्या है?
- ये अंक हैं। आधार-16 को सोलह अलग-अलग अंकों की शक्लें चाहिए और जानी-पहचानी श्रृंखला में सिर्फ़ दस होती हैं, इसलिए A से F तक दस से पंद्रह तक के मान रखते हैं — A दस है और F पंद्रह। अक्षर चुनने में कुछ भी छिपाया नहीं गया है; ये बस वर्णमाला के अगले अक्षर हैं, और सोलह अलग चिह्नों का कोई भी समूह यही काम करता। यहाँ बड़े और छोटे अक्षर ठीक एक ही अंक हैं।
- बाइनरी में 1 + 1 कैरी उठाता है, यहाँ क्यों नहीं?
- क्योंकि आधार अलग है, इसलिए स्तंभ अलग जगह पर ख़त्म होता है। आधार-2 में दो के लिए कोई अंक नहीं है, तो दो एक जुड़ते ही कैरी उठ जाती है। आधार-16 में पंद्रह तक के लिए अंक हैं, इसलिए कोई स्तंभ सिर्फ़ तब कैरी उठाता है जब जोड़ F के पार चला जाए। दो और दो हर आधार में चार ही होते हैं; बदलती बस गिनने के चिह्नों की श्रृंखला है।
- मेरे इनपुट के बड़े या छोटे अक्षरों से कुछ फ़र्क़ पड़ता है?
- नहीं। 2a3f और 2A3F एक ही संख्या हैं और दोनों स्वीकार होते हैं, क्योंकि अक्षर यहाँ अंक हैं और अंक का बड़ा-छोटा नहीं होता। जवाब चाहे जैसा भी टाइप किया गया हो, बड़े अक्षरों में छपते हैं। दोनों रिवाज़ रोज़ इस्तेमाल में हैं — रंगों के मान आमतौर पर छोटे अक्षरों में लिखे जाते हैं जबकि डिसअसेंबलर और दस्तावेज़ बड़े अक्षर लिखते हैं — इसलिए दोनों को स्वीकार करने में कुछ नहीं जाता, और किसी एक को ठुकराना महज़ मनमानी होती।
- सबसे बड़ी कौन-सी संख्या लिख सकता हूँ?
- 1FFFFFFFFFFFFF, यानी चौदह हेक्साडेसिमल अंक और दशमलव में 9007199254740991 — बाइनरी में एक 1 और उसके बाद तिरपन 1। इस चौड़ाई के आगे मशीन पड़ोसी पूर्ण संख्याओं में फ़र्क़ नहीं कर पाती, इसलिए गणित चुपचाप ठीक होना बंद कर देता: जवाब किसी संख्या जैसा दिखता रहेगा पर संख्या नहीं होगा। इससे चौड़े इनपुट काटे नहीं जाते, अस्वीकार कर दिए जाते हैं, और उसी हद को पार करने वाला नतीजा भी अस्वीकार कर दिया जाता है।
- क्या यह आधार बदलने वाले कन्वर्टर जैसा ही है?
- यह उसका गणित वाला आधा हिस्सा है। यह पेज दो संख्याएँ और एक क्रिया लेता है; एक अकेले मान को आधारों के बीच बदलने वाले पेज अलग हैं और इसी पेज से जुड़े हैं। सब कुछ एक ही पेज में डालकर इनपुट आधार और आउटपुट आधार के ड्रॉपडाउन लगाना दूसरा डिज़ाइन होता, और उसमें यह क्षमता चली जाती कि आप जो टाइप कर रहे हैं उसकी शक्ल जाँची जा सके — जो पेज कोई भी आधार स्वीकार करता है वह यह नहीं बता सकता कि 2G उस आधार में संख्या ही नहीं है।
- शेषफल की पंक्ति हमेशा क्यों रहती है?
- क्योंकि नतीजे का पैनल पंक्तियों का एक तय समूह है, ऐसी सूची नहीं जो क्रिया के साथ शक्ल बदलती हो, और आती-जाती पंक्ति टिकी हुई पंक्ति से पढ़ने में मुश्किल होती। पूर्ण संख्याओं का जोड़, घटाव और गुणा शेषफल छोड़ ही नहीं सकते, इसलिए उनमें यह पंक्ति 0 पढ़ती है, और वह शून्य कोई ख़ाली जगह भरने वाला चिह्न नहीं, ईमानदार जवाब है। भाग में यही वह चीज़ है जो कटे हुए भागफल को ठीक-ठीक जवाब जैसा दिखने से रोकती है।
संदर्भ
- Hexadecimal — the base-sixteen system, the digits beyond nine, and the relationship between one hexadecimal digit and four binary digits — Wolfram MathWorld (United States)
- Number base — why a numeral's value depends on its position and on the base, and how the same quantity is written in different bases — Wolfram MathWorld (United States)
- IEEE 754 — the double-precision format these calculations are carried out in, and the 53-bit significand that fixes this page's input ceiling — IEEE Standards Association (United States)