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

हेक्स से बाइनरी कन्वर्टर

नतीजा

10101000111111

बाइनरी

चार-चार के समूह
0010 1010 0011 1111

हेक्स से बाइनरी कन्वर्टर किसी हेक्साडेसिमल संख्या को आधार-2 में दोबारा लिखता है, और इस साइट के सारे बदलावों में यह अकेला है जिसमें कोई गणित लगता ही नहीं। एक हेक्साडेसिमल अंक ठीक चार बाइनरी अंकों का होता है — यह किसी ख़ास संख्या का संयोग नहीं, यही हेक्साडेसिमल के अस्तित्व की वजह है — इसलिए हर अक्षर की जगह उसके अपने चार बिट रख दिए जाते हैं और एक से दूसरे तक कुछ नहीं जाता। 2 यानी 0010, A यानी 1010, 3 यानी 0011 और F यानी 1111, इसलिए 2A3F बनता है 10101000111111। बदलने की तालिका में सोलह प्रविष्टियाँ हैं और वह कभी नहीं बढ़ती: 0 यानी 0000, 1 यानी 0001, और यही क्रम बाइनरी में गिनते हुए F तक चलता है, जो 1111 है। हर अक्षर चार बाइनरी अंकों का होता है, चाहे वह कहीं भी बैठा हो — दशमलव की तरह नहीं, जहाँ अंक का भार इस पर टिकता है कि वह कहाँ बैठा है। इनपुट में आगे के शून्य स्वीकार होते हैं और कुछ नहीं बदलते, और आगे लगा ऋण चिह्न भी स्वीकार होता है; वहाँ भरना चिह्न लगाने से पहले अंकों पर लगाया जाता है, इसलिए समूह वाली पंक्ति में बीच में चिह्न नहीं, आगे ऋण लिखा आता है। एक बारीक़ी है जिस पर ठोकर लगती है। जवाब के अंक दो बार छपते हैं — एक बार सीधी कतार में और एक बार चार-चार के समूहों में — और समूह वाली पंक्ति लंबी होती है क्योंकि उसके पहले समूह के आगे शून्य जोड़कर उसे भर दिया जाता है। 2A3F चौदह बिट लंबा है, इसलिए उसका समूहित रूप 0010 1010 0011 1111 है — सोलह चिह्न, आगे तीन शून्य जोड़कर। वे शून्य मान नहीं बदलते; वे सिर्फ़ इसलिए हैं कि दूसरे और तीसरे समूह के बीच की सीमा दिख जाए, गिननी न पड़े। छोटे अक्षरों में लिखा इनपुट स्वीकार होता है और एक ढंग पर लाया जाता है: 2a3f और 2A3F एक ही संख्या हैं और एक ही जवाब देती हैं, और यह मायने रखता है क्योंकि बाहर की दुनिया में हेक्साडेसिमल श्रृंखलाएँ — रंगों के मान, हैश, पहचानकर्ता — आमतौर पर छोटे अक्षरों में ही लिखी होती हैं।

2A3F का हर अक्षर अपने चार बाइनरी अंकों में खोला हुआ

हेक्साडेसिमल अंकनिबलदशमलव
200102
A101010
300113
F111115

चार पंक्तियाँ, हर अक्षर के लिए एक, और पूरा तरीक़ा इतना ही है — जोड़ने के लिए कोई पाँचवीं पंक्ति नहीं है और समझाने के लिए कोई कैरी नहीं। तीसरा कॉलम अक्षर को संख्या की तरह पढ़ता है, यानी वह मान जितना दूसरे कॉलम के चार बिट जुड़कर बनाते हैं: A दस है क्योंकि 1010 यानी 8 + 2, और F पंद्रह है क्योंकि 1111 यानी 8 + 4 + 2 + 1। दूसरा कॉलम ऊपर से नीचे पढ़कर जोड़ दीजिए तो बाइनरी जवाब मिल जाता है, और तीसरा कॉलम पढ़ना वही है जो सवाल दशमलव में पूछा गया होता तो करना पड़ता। भरने के नियम के लिए पहली पंक्ति देखने लायक़ है: 2 यानी 0010, जिसमें एक आगे का शून्य है जो संख्या को ख़ुद नहीं चाहिए, और वह शून्य इसलिए है कि यह पंक्ति बाक़ी तीन की तरह चार चिह्नों की हो जाए। तालिका 2A3F पर टिकी है जबकि ऊपर का पैनल आपकी टाइप की हुई जो भी संख्या बदलता है।

फ़ॉर्मूला

2A3F ⇒ 2 → 0010, A → 1010, 3 → 0011, F → 1111 ⇒ 10101000111111, grouped as 0010 1010 0011 1111

2A3F
जिस हेक्साडेसिमल संख्या को बदलना है। अक्षरों का बड़ा-छोटा नहीं देखा जाता, इसलिए 2a3f और 2A3F एक ही मान हैं; जवाब हमेशा बड़े अक्षरों में छपता है, जो इस साइट पर बाइनरी और हेक्साडेसिमल लिखने का रिवाज़ है
एक अक्षर
इस बदलाव की इकाई। हर अक्षर अपने-आप में निपटाया जाता है और एक से दूसरे तक कुछ नहीं जाता — इसीलिए हेक्स से बाइनरी बाएँ से दाएँ, किसी भी क्रम में, बिना कोई जोड़ता हुआ हिसाब याद रखे किया जा सकता है
4 बिट
हर अक्षर कितने बाइनरी अंकों में खुलता है, बिना किसी अपवाद के। सोलह अक्षर और चार बिट के सोलह रूप — दोनों आधारों की जोड़ी बनने की पूरी वजह यही है, और इसका मतलब है कि बाइनरी जवाब की लंबाई हमेशा अक्षरों की गिनती से ठीक चार गुना होती है
0000 — 1111
हर अक्षर जो बना सकता है वह पूरा समूह, बाइनरी में 0 से 15 तक गिनते हुए। यही बदलने की तालिका खुली हुई है: 0 यानी 0000, 1 यानी 0001, और गिनती 9 तक 1001 बनकर चलती है, फिर A से F तक 1010 से 1111
⇒ 10101000111111
बिना बीच में कुछ रखे जोड़े गए अंक। यह संख्या का अपना बाइनरी रूप है, और इसमें भरा नहीं जाता: आगे के शून्य हटा दिए जाते हैं, इसलिए जिस मान के ऊपरी बिट शून्य हों वह अपने अक्षरों की चार गुनी लंबाई से छोटा निकलता है
0010 1010 0011 1111
वही अंक चार-चार में काटे हुए, और इसमें भरा जाता है — पहला समूह 10 नहीं बल्कि 0010 है, जिसके आगे तीन शून्य जोड़े गए हैं ताकि हर समूह चार चिह्नों का हो और सीमाएँ हेक्साडेसिमल अक्षरों से मिल जाएँ
2⁵³ − 1
इनपुट की हद, और यह यहाँ अनजानी शक्ल में आती है: चौदह हेक्साडेसिमल अक्षर, यानी 1FFFFFFFFFFFFF, यानी तिरपन बाइनरी अंक, यानी दशमलव में 9007199254740991। इससे लंबा इनपुट बदला नहीं जाता, अस्वीकार कर दिया जाता है

हेक्साडेसिमल वह है जो लोग लिखते हैं और बाइनरी वह जो मशीनें चलाती हैं, इसलिए इन दोनों के बीच आना-जाना हर उस व्यक्ति का रोज़ का क़दम है जो हार्डवेयर के क़रीब काम करता है। 2A3F जैसा रंग कोड चार हेक्साडेसिमल अक्षरों का होता है, और यह पढ़ना कि उसके कौन-से बिट लगे हैं — जो असल में कोई बिटमास्क, कोई अनुमति-फ़्लैग या कोई रजिस्टर सेटिंग पूछती है — उसे बाइनरी में देखे बिना हो नहीं सकता। हेक्साडेसिमल में छपे हैश, चेकसम और बिट-फ़्लैग भी इसी तरह पढ़े जाते हैं, और डीबगर के पते तथा पैकेट कैप्चर के फ़्लैग भी। यह बदलाव उलटी दिशा में भी लायक़ है, और इसीलिए यह अलग पेज है: बाइनरी कुछ अंकों के बाद पढ़ी नहीं जाती, इसलिए बाइनरी में मिला कोई मान आगे भेजने से पहले आमतौर पर हेक्साडेसिमल में लिख दिया जाता है। पढ़ाई में यह काम 'हेक्स से बाइनरी बदलिए' बनकर आता है, और इसमें दिखाने लायक़ 'काम' एक बदली हुई तालिका के सिवा कुछ नहीं होता — पर भरना लिखने लायक़ है, क्योंकि 10101000111111 जैसा जवाब और 0010 1010 0011 1111 जैसा जवाब एक ही संख्या हैं जिनमें दिखने वाली बनावट अलग-अलग है, और कौन-सा चाहिए यह इस पर टिकता है कि पाठक को मान चाहिए या बाइट का ढाँचा।

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

  1. 2A3F बदलना

    1. अक्षर एक-एक करके लीजिए: 2, A, 3, F
    2. हर एक की जगह उसके चार बिट रखिए: 2 यानी 0010, A यानी 1010, 3 यानी 0011, F यानी 1111
    3. चारों समूह बिना कुछ बीच में रखे जोड़िए: 10101000111111
    4. वही अंक चार-चार में काटिए और पहला समूह भरिए: 0010 1010 0011 1111

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

  2. एक बाइट, B2

    1. B यानी 11, जो चार बिट में 1011 है
    2. 2 चार बिट में 0010 है
    3. दोनों जोड़िए: 10110010 — आठ अंक, दो समूह, एक बाइट

    दो हेक्साडेसिमल अक्षर हमेशा आठ बिट यानी एक बाइट होते हैं, और इसीलिए यह जोड़ी जानने लायक़ है: किसी मान की चौड़ाई बिना कुछ गिने सीधे पढ़ी जा सकती है। यहाँ समूहों की सीमाएँ भी बाइट पर ठीक पड़ती हैं, और यह दो अक्षरों का गुण है, इस ख़ास मान का नहीं।

  3. छोटे अक्षरों में इनपुट, 2a3f

    1. छोटा a बड़े A के बराबर ही गिना जाता है: दोनों ग्यारह
    2. छोटा f बड़े F के बराबर ही गिना जाता है: दोनों पंद्रह
    3. बदलाव ठीक वैसे ही चलता है जैसे 2A3F के लिए चला था, और वही जवाब देता है

    दोनों आउटपुट पहले उदाहरण के साथ शब्द-दर-शब्द एक जैसे निकलते हैं। किसी वेब पेज, स्टाइलशीट या लॉग से कॉपी की गई हेक्साडेसिमल श्रृंखलाएँ आमतौर पर छोटे अक्षरों में होती हैं, इसलिए दोनों रूप स्वीकार करना कोई सुविधा नहीं है — छोटे अक्षर ठुकराने पर यह पेज ठीक उन इनपुटों पर बेकार हो जाता जो लोग लेकर आते हैं।

  4. सबसे बड़ा इनपुट, 1FFFFFFFFFFFFF

    1. चौदह अक्षर, इसलिए पहला समूह भरने के बाद जवाब छप्पन बिट का होता है
    2. आगे वाला 1 चार बिट के समूह में 0001 है, और यहीं भरना दिखता है
    3. तेरह F अक्षर हर एक 1111 हैं, इसलिए भरा हुआ जवाब तिरपन 1 और उनसे पहले तीन शून्य है
    4. बिना भरे, संख्या ख़ुद तिरपन 1 है

    यही हद है, और भरने के नियम का सबसे साफ़ उदाहरण: पहला समूह 1 नहीं बल्कि 0001 है, इसलिए समूह वाली पंक्ति में तीन आगे के शून्य हैं जो सीधी पंक्ति में नहीं हैं। यही सीमा दशमलव पेजों पर 9007199254740991 बनकर और पढ़ने वाले पेजों पर तिरपन अंकों की बनकर आती है — यह एक ही सीमा है जो तीन आधारों में लिखी गई है।

सीमाएँ

यह पेज सिर्फ़ पूर्ण संख्याएँ बदलता है, और इनपुट दशमलव नहीं बल्कि हेक्साडेसिमल श्रृंखला है, इसलिए यहाँ ठुकराने के लिए कोई दशमलव बिंदु है ही नहीं: 0 से 9 और A से F के बाहर के अक्षर अस्वीकार कर दिए जाते हैं। इनपुट ज़्यादा से ज़्यादा चौदह हेक्साडेसिमल अक्षरों का हो सकता है, यानी 1FFFFFFFFFFFFF, और इससे लंबी श्रृंखला काटी नहीं जाती, एक संदेश के साथ अस्वीकार कर दी जाती है — कटा हुआ जवाब जवाब जैसा दिखता है। आगे के शून्य स्वीकार होते हैं और कुछ नहीं बदलते; आगे लगा ऋण चिह्न स्वीकार होता है, और वहाँ भरना चिह्न लगाने से पहले अंकों पर लगाया जाता है, इसलिए समूह वाली पंक्ति में बीच में चिह्न नहीं, आगे ऋण लिखा आता है। इनपुट कैसे भी लिखा गया हो, जवाब हमेशा बड़े अक्षरों में छपता है। नीचे की तालिका डिफ़ॉल्ट मान 2A3F को खोलती है और आपके टाइप किए हुए के साथ नहीं चलती। उलटी दिशा में जाना, यानी बाइनरी से वापस हेक्साडेसिमल, अपने अलग पेज पर है, और यह पेज नतीजे पर कोई गणना नहीं करता।

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

एक हेक्साडेसिमल अंक हमेशा चार बाइनरी बिट का ही क्यों होता है?
क्योंकि चार और सोलह दोनों दो की घातें हैं, और सोलह यानी चार दो का गुणनफल। चार बाइनरी अंक दो की चौथी घात, यानी सोलह, तरह से रखे जा सकते हैं — ठीक उतने ही जितने चिह्न आधार-16 को देने होते हैं। इसलिए दोनों समूह बिल्कुल मिल जाते हैं: हर अक्षर का एक चार-बिट रूप है और हर चार-बिट रूप का एक अक्षर, किसी भी तरफ़ कुछ बचता नहीं। इसीलिए हेक्साडेसिमल इस्तेमाल होता है और मान लीजिए दशमलव नहीं, जो बिटों में बराबर नहीं बँटता।
समूह वाला जवाब सीधे वाले से लंबा क्यों है?
क्योंकि समूह वाली पंक्ति में भरा जाता है और सीधी में नहीं। सीधी पंक्ति संख्या का अपना बाइनरी रूप है, इसलिए वह आगे के शून्य हटा देती है; समूह वाली को चार-चार के पूरे समूहों में बँटना है, इसलिए वह ऊपर वाले समूह को शून्य से भर देती है। 2A3F के लिए इसका मतलब है आगे तीन अतिरिक्त शून्य — एक पंक्ति में चौदह अंक, दूसरी में सोलह। दोनों में से कोई ग़लत नहीं है, और दोनों एक ही मान हैं। मान चाहिए तो पहली लीजिए; यह देखना है कि अक्षर कहाँ पड़ते हैं तो दूसरी।
हेक्स को बाइनरी में हाथ से कैसे बदलें?
हर अक्षर की जगह उसके चार बिट रखिए और बाएँ से दाएँ जोड़ते जाइए। दस अंकों के चार बिट बाइनरी में गिनती हैं — 0 यानी 0000, 1 यानी 0001, 2 यानी 0010, और 9 तक 1001 — और उसके बाद A यानी 1010, B यानी 1011, C यानी 1100, D यानी 1101, E यानी 1110 और F यानी 1111। यहाँ न कुछ आगे भेजना है और न कोई जोड़ता हुआ हिसाब याद रखना, इसलिए अक्षर किसी भी क्रम में निपटाए जा सकते हैं।
अक्षर बड़े लिखूँ या छोटे, इससे कुछ फ़र्क़ पड़ता है?
नहीं। 2a3f और 2A3F एक ही संख्या हैं और दोनों 10101000111111 बनती हैं। जवाब हमेशा बड़े अक्षरों में छपता है, जो तकनीकी लेखन में दोनों आधारों का आम रिवाज़ है। छोटे अक्षरों वाला इनपुट स्वीकार करना इसलिए ज़रूरी है कि लोग जो हेक्साडेसिमल श्रृंखलाएँ कॉपी करते हैं — स्टाइलशीट से रंग का मान, कोई हैश, लॉग से कोई पहचानकर्ता — वे उसी रूप में लिखी होती हैं।
यहाँ सबसे बड़ी कौन-सी हेक्साडेसिमल संख्या बदल सकता हूँ?
चौदह अक्षर: 1FFFFFFFFFFFFF हद है, और वह तिरपन 1 बनती है। इससे लंबी श्रृंखलाएँ छोटी करने के बजाय एक संदेश के साथ अस्वीकार कर दी जाती हैं, और यह हद इस पेज की अपनी नहीं है — यह वही सीमा है जिसे दशमलव पेज 9007199254740991 लिखते हैं और पढ़ने वाले पेज तिरपन अंक। इससे चौड़े मान पर मशीन पड़ोसी पूर्ण संख्याओं में फ़र्क़ नहीं कर पाती, इसलिए इसके आगे का जवाब भरोसे के लायक़ नहीं होता।
क्या हेक्स से बाइनरी बदलना हेक्स से दशमलव बदलने जैसा ही है?
नहीं, हालाँकि दोनों में उलझना आसान है क्योंकि दोनों एक ही श्रृंखला से शुरू होते हैं। बाइनरी में बदलना एक प्रतिस्थापन है: हर अक्षर चार बिट बन जाता है और कोई गणित नहीं होता। दशमलव में बदलना एक जोड़ है: हर अक्षर को उसके स्थान की सोलह की घात से गुणा किया जाता है — 2A3F यानी 2×4096 + 10×256 + 3×16 + 15 — और सब जोड़ दिया जाता है। बाइनरी वाला पेज तेज़ इसलिए है कि आधार दो की घात है और दशमलव वाला आधार नहीं।

संदर्भ

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