षोडश आधारी

गणित और कंप्यूटर विज्ञान में, षोडश आधारी (हेक्साडेसिमल) एक स्थितीय अंक प्रणाली (पोजीशनल न्यूमरल सिस्टम) है जिसके आधारांक (बेस) का मान 16 होता है। इसमें सोलह अलग-अलग प्रतीकों का इस्तेमाल होता है जिसमें 0 से 9 तक के प्रतीक शून्य से नौ तक के मानों को प्रदर्शित करते हैं और A, B, C, D, E, F (या वैकल्पिक रूप से a से f) तक के प्रतीक दस से पंद्रह तक के मानों को प्रदर्शित करते हैं। उदाहरण के लिए, हेक्साडेसिमल संख्या 2AF3 का मान दाशमिक संख्या प्रणाली में (2 × 163) + (10 × 162) + (15 × 161) + (3 × 160) या 10,995 के बराबर होता है। प्रत्‍येक हेक्साडेसिमल अंक, चार बाइनरी अंकों (बिट्स) (जिसे "निबल" (nibble) भी कहा जाता है) का प्रतिनिधित्व करता है और हेक्साडेसिमल नोटेशन का उपयोग, कंप्यूटिंग एवं डिजिटल इलेक्ट्रॉनिक्स में बाइनरी कोडित मानों के एक मानव-अनुकूल प्रदर्शन के रूप में किया जाता है। उदाहरण के लिए, बाईट के मान 0 से 255 (दशमलव अंक) तक हो सकता है लेकिन इसके मानों को और सुविधाजनक ढ़ंग से 00 से लेकर FF तक वाले दो हेक्साडेसिमल अकों के रूप में प्रदर्शित किया जा सकता है। हेक्साडेसिमल का इस्तेमाल आम तौर पर कंप्यूटर मेमोरी एड्रेसों को दर्शाने के लिए भी किया जाता है। साँचा:Hexadecimal table जिन परिस्थितियों में रेफरेंस का अभाव होता है, उन परिस्थितियों में अन्य मूल अंकों (आधारांक) में व्यक्त की गई संख्याओं के साथ एक हेक्साडेसिमल संख्‍या अस्‍पष्‍ट और भ्रामक हो सकती है। स्‍पष्‍ट रूप से मानों को व्यक्त करने की कई पद्धतियां प्रचलित हैं। एक संख्‍यात्‍मक सबस्क्रिप्ट (जो खुद दशमलव अंक में लिखा हुआ होता है) मूल अंक को स्पष्ट रूप से व्यक्त कर सकता है: 15910, दशमल 159 है; 15916 हेक्साडेसिमल 159 है, जिसका मान 34510 के बराबर होता है। अन्‍य लेखक एक पाठ सबस्क्रिप्ट, जैसे - 159दशमलव और 159हेक्स, या 159d और 159h, का इस्तेमाल करना पसंद करते हैं। रेखीय पाठ प्रणालिय़ों, जैसे - अधिकांश कंप्यूटर प्रोग्रामिंग परिवेशों में इस्तेमाल की जानी वाली प्रणालियों, में विभिन्न प्रकार के तरीकों का आगमन हुआ है: में उपसर्ग के रूप में #x और #16r का इस्तेमाल होता है. अक्षर अंकों के लिए लोअरकेस या अपरकेस का इस्तेमाल करने की कोई सार्वभौमिक परंपरा नहीं है और समुदाय के मानकों या परंपरा के माध्यम से विशेष परिवेशों में प्रत्येक का प्रचलन है या प्रत्येक को प्राथमिकता दी जाती है। कंप्यूटरों के आरंभिक इतिहास में नौ से ऊपर के अंकों को प्रदर्शित करने के लिए A से लेकर F तक के अक्षरों का विकल्प सार्वभौमिक नहीं था। 1950 के दशक के दौरान, 10 से 15 तक के मानों को सूचित करने के लिए एक मैक्रोन कैरेक्टर ("¯") के साथ 0 से लेकर 5 तक के अंकों का इस्तेमाल करने पर कुछ प्रतिष्ठापन कार्य अनुकूल साबित हुए. बेंडिक्स जी-15 कंप्यूटर उपयोगकर्ता U से लेकर Z तक के अक्षरों का उपयोग करते थे। ब्रुकहैवेन नैशनल लैबोरेटरी के ब्रूस ए. मार्टिन A से F के इस्तेमाल के विकल्प को "हास्यास्पद" मानते थे और सीएसीएम (CACM) के सम्पादक को 1968 में लिखे गए एक पत्र में उन्होंने बिट लोकेशनों पर आधारित प्रतीकों के एक सम्पूर्ण नए समूह के इस्तेमाल का प्रस्ताव दिया जिसे पर्याप्त रूप से स्वीकार नहीं किया गया।  दस से पंद्रह तक की मात्राओं को प्रदर्शित करने के लिए कोई पारंपरिक अंक उपलब्ध नहीं है—इनकी जगह अक्षरों का इस्तेमाल किया जाता है—और अधिकांश पश्चिमी यूरोपीय भाषाओं में दस से ऊपर के अंकों के लिए गैर-दशमलव नामों का अभाव है। अंग्रेजी में कई गैर-दशमलव घातों (प्रथम बाइनरी घात के लिए जोड़ा, प्रथम वाइजेसिमल घात के लिए स्कोर, प्रथम तीन द्विदशमलव घातों के लिए दर्जन, ग्रॉस (12 दर्जन) और ग्रेट ग्रॉस (144 दर्जन) के लिए नामों की सुलभता के बावजूद कोई भी अंग्रेजी नाम हेक्साडेसिमल घातों (दशमलव 16, 256, 4096, 65536, ...) का वर्णन नहीं करता है। कुछ लोग हेक्साडेसिमल संख्याओं के एक-एक अंक को एक फोन नंबर की तरह पढ़ते हैं: 4DA को "फोर-डी-ए" पढ़ते हैं। हालांकि, A (ए) अक्षर "एट" (आठ) की तरह लगता है, C (सी) "थ्री" (तीन) की तरह लगता है और D (डी) बड़ी आसानी से "-ty" (टी) प्रत्यय की तरह लग सकता है: क्या यह 4D (4डी) है या forty (फोर्टी) ? अन्य लोग नाटो (NATO) फोनेटिक अल्फाबेट का इस्तेमाल करके भ्रमित होने से बच जाते हैं: 4DA "फोर-डेल्टा-अल्फ़ा" है; या ज्वाइंट आर्मी/नेवी फोनेटिक अल्फाबेट ("फोर-डॉग-एबल"); या इसी तरह की एक तदर्थ प्रणाली. बाइनरी और हेक्साडेसिमल दोनों के लिए अंकों की गिनती करने की प्रणालियों की योजना बनाई गई है। आर्थर सी. क्लार्क ने दस अंगुलियों पर शून्य से लेकर 1023 तक गिनती करने के लिए अंगुली का इस्तेमाल करने की सुविधा प्रदान करके एक ऑन/ऑफ़ बिट के रूप में प्रत्येक अंगुली का इस्तेमाल करने का सुझाव दिया। FF (255) तक की गिनती करने के लिए इस्तेमाल होने वाली एक अन्य प्रणाली को दायीं तरफ दर्शाया गया है; यह बारह के गुणांकों (दर्जनों और ग्रॉस) में गिनती करने एक मौजूदा प्रणाली का एक विस्तृत रूप लगता है जिसका इस्तेमाल आम तौर पर दक्षिण एशिया और अन्य जगहों में किया जाता है। हेक्साडेसिमल प्रणाली में ऋणात्मक संख्याओं को दशमलव प्रणाली की तरह ही व्यक्त किया जा सकता है: -42 को प्रदर्शित करने के लिए –2A और इसी तरह अन्य. हालांकि, इसके बजाय कुछ लोग प्रोसेसर में इस्तेमाल किए जाने वाले सटीक बिट पैटर्न को व्यक्त करना पसंद करते हैं और हेक्साडेसिमल मानों को संकेतित मानों के रूप में ही सबसे अच्छी तरह संभाले जाने का विचार रखते हैं। इस तरह, ऋणात्मक संख्या -42 को एक 32-बिट सीपीयू (CPU) रजिस्टर में FFFF FFD6 के रूप में लिखा जा सकता है जिस प्रकार एक 32-बिट एफपीयू (FPU) रजिस्टर में C228 0000 के रूप में, या एक 64-बिट एफपीयू रजिस्टर में C045 0000 0000 0000 के रूप में लिखा जा सकता है (कुछ प्रदर्शन योजनाओं, 32-बिट गैर-एफपीयू उदाहरण में दो-दो-पूरक और एफपीयू उदाहरणों में संकेत-परिमाण को मान लेते हैं). अधिकांश कंप्यूटर बाइनरी डेटा में फेर-बदल करते हैं, लेकिन एक अपेक्षाकृत छोटी बाइनरी (द्विआधारी) संख्या के लिए भी अनगिनत अंकों के साथ काम करना इंसानों के लिए मुश्किल है। यद्यपि अधिकांश इन्सान आधारांक 10 सिस्टम से परिचित है, लेकिन फिर भी दशमलव की तुलना में हेक्साडेसिमल में बाइनरी का नक्षा बनाना काफी आसान है। इस उदाहरण 11112 को आधारांक दस में रूपांतरित कर देता है। चूंकि एक बाइनरी संख्या के प्रत्येक स्थान में 1 या 0 हो सकता है, इसलिए इसके मान को दायीं तरफ से इसकी स्थिति द्वारा बड़ी आसानी से निर्धारित किया जा सकता है: इसलिए: आश्चर्यजनक रूप से कम अभ्यास के साथ, एक चरण में 11112 को F16 में मैप करना आसान हो जाता है: हेक्साडेसिमल के प्रदर्शन की तालिका को देखें. दशमलव के बजाय हेक्साडेसिमल के इस्तेमाल से होने वाले लाभ की वजह से संख्या के आकार में तेज़ी से वृद्धि हो जाती है। जब संख्या बहुत बड़ी हो जाती है, तो इसे दशमलव में रूपांतरित करना बहुत कठिन हो जाता है। हालांकि, हेक्साडेसिमल की मैपिंग करने पर बाइनरी स्ट्रिंग को 4 अंकों वाले समूहों के रूप में मान्यता देना और प्रत्येक को एक एकल हेक्साडेसिमल अंक में मैप करना नगण्य हो जाता है। यह उदाहरण दशमलव में एक बाइनरी संख्या के रूपांतरण को दिखाता है, प्रत्येक अंक को दशमलव मान में मैप करता है और परिणामों को जोड़ता है। इसकी तुलना हेक्साडेसिमल में किए गए रूपांतरण से करें, जहां चार अंकों वाले प्रत्येक समूह पर स्वतंत्रतापूर्वक विचार किया जा सकता है और प्रत्यक्ष रूप से रूपांतरित किया जा सकता है: हेक्साडेसिमल से बाइनरी में किया जाने वाला रूपांतरण भी उतना ही प्रत्यक्ष होता है। ऑक्टल (अष्टाधारी) प्रणाली को बाइनरी कंप्यूटर डेटा का प्रत्यक्ष सामना करने वाले लोगों के लिए एक साधन के रूप में भी इस्तेमाल किया जा सकता है। ऑक्टल डेटा को चार के बजाय तीन बिट्स प्रति कैरेक्टर के रूप में दर्शाता है। जैसा कि सभी आधारांकों के साथ होता है, स्रोत आधारांक में पूर्णांक में भाग देकर और शेष संचालनों के द्वारा हेक्साडेसिमल में एक संख्या के प्रदर्शन को रूपांतरित करने के लिए एक सरल एल्गोरिथ्म होता है। सैद्धांतिक रूप से यह किसी भी आधारांक से संभव है लेकिन अधिकांश इंसानों के लिए केवल दशमलव और अधिकांश कंप्यूटरों के लिए केवल बाइनरी (जिसे कहीं अधिक कुशल तरीकों से रूपांतरित किया जा सकता है) को इस तरीके से बड़ी आसानी से संभाला जा सकता है। चलिए b को हेक्साडेसिमल में प्रदर्शित करने वाली संख्या मान लेते हैं और hihi-1।