दशमलव से षोडशआधारी: प्रोग्रामर जो लिपि असल में पढ़ते हैं
यह रूपांतरण क्या करता है
यह दशमलव संख्या को आधार 16 में लिखता है, सोलह अंकों 0 से 9 और A से F का इस्तेमाल करके। षोडशआधारी कोई अलग तरह की संख्या नहीं, बस वही बिट छोटा करके लिखने का ढंग है: एक हेक्स अंक ठीक चार द्विआधारी अंकों को समेटता है, इसलिए 32 बिट का मान बत्तीस अक्षरों के बजाय आठ में आ जाता है। यही बचत इस लिपि को ज़िंदा रखती है।
A से F अक्षर क्यों पड़े
आधार 16 को सोलह अलग अंक चाहिए और चलन में सिर्फ़ दस हैं, इसलिए अंग्रेज़ी के पहले छह अक्षर वह जगह भर देते हैं: A दस, B ग्यारह, और इसी क्रम में F पंद्रह तक। ये अक्षर अंक ही हैं, संक्षेप नहीं — इसलिए FF का मतलब पंद्रह छक्के जमा पंद्रह, यानी 255 है, "पंद्रह" शब्द से इसका कोई लेना-देना नहीं।
दशमलव से षोडशआधारी तालिका
रंग, पते और अनुमति मास्क में लगातार आने वाले दशमलव मान और उनके हेक्स रूप। 255 और 65535 जैसे मान एक और दो बाइट वाले फ़ील्ड की सीमाएँ बताते हैं।
| दशमलव | षोडशआधारी |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 7 | 7 |
| 8 | 8 |
| 10 | A |
| 15 | F |
| 16 | 10 |
| 31 | 1F |
| 64 | 40 |
| 100 | 64 |
| 127 | 7F |
| 200 | C8 |
| 255 | FF |
| 1000 | 3E8 |
रंग कोड और मेमोरी पते
#1E90FF जैसा वेब रंग तीन बाइट — लाल, हरा, नीला — है जो छह हेक्स अंकों में लिखा जाता है, और हर जोड़ी एक चैनल 0 से 255 तक बताती है। यही लिपि मेमोरी पतों में दिखती है, जहाँ 0x7FFE की तुलना उसके दशमलव रूप से करना कहीं आसान है। दोनों जगह हेक्स इसलिए जीतता है क्योंकि उसके अंक बाइट की सीमाओं पर ठीक बैठते हैं: दो अंक, एक बाइट, हमेशा।
छोटे-बड़े अक्षर का चुनाव
यह कनवर्टर ऊपरी केस में लिखता है, जो C की सूचियों, डेटाशीट और ज़्यादातर दस्तावेज़ों का चलन है। छोटे अक्षर भी उतने ही वैध हैं और URL तथा कुछ भाषाओं के लिटरल में दिखते हैं; इनपुट फ़ील्ड दोनों ले लेता है। एक ही मान में दोनों मिलाना क़ानूनी है पर पढ़ने में बुरा लगता है, इसलिए एक चुनकर उसी पर टिकें।
अक्सर पूछे जाने वाले सवाल
बिना कैलकुलेटर दशमलव से हेक्स कैसे बदलें?
16 से भाग दें, शेषफल को हेक्स अंक लिखें, और भागफल के साथ यही क्रम तब तक दोहराएँ जब तक वह शून्य न हो जाए; फिर अंक आख़िर से पहले की ओर पढ़ें। 255 पर: 255 ÷ 16 = 15 शेष 15, और 15 ÷ 16 = 0 शेष 15, इसलिए जवाब FF है। नौ से बड़े शेषफल A से F तक के अक्षरों में लिखे जाते हैं।
द्विआधारी के बजाय षोडशआधारी क्यों इस्तेमाल होती है?
क्योंकि चार द्विआधारी अंक ठीक एक हेक्स अंक पर मैप होते हैं, इसलिए बदलना सीधा प्रतिस्थापन है, कोई हिसाब नहीं। षोडशआधारी उन्हीं बिट का छोटा और पढ़ने लायक रूप है, इसीलिए डीबगर, डिसअसेंबलर और नेटवर्क टूल सब उसी की ओर हाथ बढ़ाते हैं।
0x उपसर्ग का मतलब क्या है?
यह C और कई अन्य भाषाओं में यह बताने का चिह्न है कि आगे के अंक षोडशआधारी हैं, इसलिए 0x20 बीस नहीं बत्तीस है। यह कनवर्टर इनपुट पर 0x उपसर्ग ले लेता है और नतीजे पर लगाता नहीं, क्योंकि जिस पेज पर आप हैं उससे ही आधार साफ़ है।
64 बिट के मान के लिए कितने हेक्स अंक चाहिए?
सोलह, और यह कनवर्टर उन्हें ठीक-ठीक संभालता है। 64 बिट की संख्या उस सीमा से आगे जा सकती है जहाँ तक फ़्लोटिंग-पॉइंट सही रहता है, इसलिए आम संख्याओं पर चलने वाला टूल FFFFFFFFFFFFFFFF जैसे मान पर ठीक दिखने वाला ग़लत जवाब देगा। पूर्णांक गणित इससे पूरी तरह बच जाता है।
क्या हेक्स अंकों का केस मायने रखता है?
नहीं। FF और ff एक ही मान हैं और इनपुट फ़ील्ड दोनों स्वीकार करता है। चलन के हिसाब से नतीजा ऊपरी केस में आता है, जो ज़्यादातर सोर्स कोड, दस्तावेज़ों और हार्डवेयर मैनुअल की शैली से मेल खाता है।