हेक्साडेसिमल

गणित और कम्प्यूटिंग में, हेक्साडेसिमल (आधार -16 या केवल हेक्स भी) अंक प्रणाली एक संख्या प्रणाली है जो 16 के मूलांक (आधार) का उपयोग करके संख्याओं का प्रतिनिधित्व करती है। 10 प्रतीकों का उपयोग करके संख्याओं का प्रतिनिधित्व करने वाली दशमलव प्रणाली के विपरीत, हेक्साडेसिमल 16 अलग-अलग प्रतीकों का उपयोग करता है, अक्सर 0 से 9 तक के मानों का प्रतिनिधित्व करने के लिए 0 - 9 के प्रतीक, और 10 से 15 तक के मानों का प्रतिनिधित्व करने के लिए A - F (या वैकल्पिक रूप से a - f) का उपयोग करता है।

सॉफ़्टवेयर डेवलपर और सिस्टम डिज़ाइनर व्यापक रूप से हेक्साडेसिमल संख्याओं का उपयोग करते हैं क्योंकि वे बाइनरी कोड मानों का मानव-अनुकूल प्रतिनिधित्व प्रदान करते हैं। प्रत्येक हेक्साडेसिमल अंक चार अंशों (द्विआधारी अंक) का प्रतिनिधित्व करता है, जिसे कुतरना (या निबल) के रूप में भी जाना जाता है। उदाहरण के लिए, एक 8-बिट बाइट में बाइनरी फॉर्म में 00000000 से 11111111 तक के मान हो सकते हैं, जिसे हेक्साडेसिमल में 00 से FF के रूप में आसानी से दर्शाया जा सकता है।

गणित में, आधार को निर्दिष्ट करने के लिए आमतौर पर एक सबस्क्रिप्ट का उपयोग किया जाता है। उदाहरण के लिए, दशमलव मान $$ हेक्साडेसिमल में undefined के रूप में व्यक्त किया जाता है। प्रोग्रामिंग में, हेक्साडेसिमल संख्याओं को निरूपित करने के लिए कई संकेतन का उपयोग किया जाता है, जिसमें आमतौर पर एक उपसर्ग शामिल होता है। उपसर्ग  (प्रोग्रामिंग लैंग्वेज) का प्रयोग C में किया जाता है, जो इस मान को   इस रूप में निरुपित किया जाता है।

हेक्साडेसिमल का उपयोग ट्रांसफर एन्कोडिंग बेस 16 में किया जाता है, जिसमें प्लेनटेक्स्ट के प्रत्येक बाइट को दो 4-बिट मानों में विभाजित किया जाता है और दो हेक्साडेसिमल अंकों द्वारा दर्शाया जाता है।

लिखित प्रतिनिधित्व
अधिकांश वर्तमान उपयोग के मामलों में, अक्षर A-F या a-f मानों को 10-15 का प्रतिनिधित्व करते हैं, जबकि अरबी अंक 0-9 का उपयोग उनके दशमलव मानों का प्रतिनिधित्व करने के लिए किया जाता है।

लोअरकेस या अपरकेस का उपयोग करने के लिए कोई सार्वभौमिक परंपरा नहीं है, इसलिए सामुदायिक मानकों या सम्मेलन द्वारा प्रत्येक विशेष वातावरण में प्रचलित या पसंद किया जाता है; इसलिये इसमें मिश्रित मामले का भी उपयोग किया जाता है। सात-खंड वाले डिस्प्ले मिश्रित-केस एबीसीडीईएफ का उपयोग अंकों को बनाने के लिए करते हैं जिन्हें एक दूसरे से अलग किया जा सकता है।

लंबी सूची में हेक्स मानों को अलग करने के लिए रिक्त स्थान (अल्पविराम या अन्य विराम चिह्न के बजाय) का उपयोग करने का कुछ मानकीकरण है। उदाहरण के लिए, निम्नलिखित हेक्स डंप में, प्रत्येक 8-बिट बाइट एक 2-अंकीय हेक्स संख्या है, उनके बीच रिक्त स्थान के साथ, जबकि प्रारंभ में 32-बिट ऑफ़सेट एक 8-अंकीय हेक्स संख्या है।

दशमलव से भेद
संदर्भों में जहां मूलांक स्पष्ट नहीं है, हेक्साडेसिमल संख्या अस्पष्ट हो सकती है और अन्य आधारों में व्यक्त संख्याओं के साथ भ्रमित हो सकती है। मानों को स्पष्ट रूप से व्यक्त करने के लिए कई परंपराएं हैं। एक संख्यात्मक सबस्क्रिप्ट (स्वयं दशमलव में लिखा गया) आधार को स्पष्ट रूप से 15910 दशमलव 159 दे सकता है; और 15916 का हेक्साडेसिमल 159 है, जो 34510 के बराबर है। कुछ लेखक टेक्स्ट सबस्क्रिप्ट पसंद करते हैं, जैसे कि 159decimal और 159hex, या 159d और 159h.

डोनाल्ड नुथ ने अपनी पुस्तक द टीएक्सबुक में एक विशेष मूलांक का प्रतिनिधित्व करने के लिए एक विशेष टाइपफेस के उपयोग का प्रयोग किया गया हैं। हेक्साडेसिमल अभ्यावेदन वहां एक मोनोस्पेस्ड फ़ॉन्ट 5A3 में लिखे गए हैं:

रेखीय टेक्स्ट सिस्टम में, जैसे कि अधिकांश कंप्यूटर प्रोग्रामिंग वातावरण में उपयोग किए जाने वाले, कई प्रकार के तरीके उत्पन्न हुए हैं:
 * यूनिक्स (और संबंधित) शेल्स, एटी एंड टी असेंबली भाषा और इसी तरह C (प्रोग्रामिंग लैंग्वेज) (और इसके सिंटैक्टिक वंशज जैसे C++, C, शार्प, जावा (प्रोग्रामिंग भाषा), जावास्क्रिप्ट, पायथन (प्रोग्रामिंग लैंग्वेज) और विंडोज पॉवरशेल) हेक्स में दर्शाए गए संख्यात्मक स्थिरांक के लिए उपसर्ग  का उपयोग करते हैं।    संख्यात्मक स्थिरांक के लिए हेक्स में दर्शाया गया है: वर्ण और स्ट्रिंग स्थिरांक हेक्साडेसिमल में उपसर्ग के साथ वर्ण कोड   उसके बाद दो हेक्स अंक:   पलायन चरित्र नियंत्रण चरित्र का प्रतिनिधित्व करता है;   एक स्ट्रिंग है जिसमें दो एम्बेडेड Esc वर्णों वाले 11 वर्ण हैं। प्रिंटफ फ़ंक्शन परिवार के साथ एक पूर्णांक को हेक्साडेसिमल के रूप में आउटपुट करने के लिए, प्रारूप रूपांतरण कोड   या   प्रयोग किया जाता है।
 * यूआरआई (यूआरएल सहित) में, वर्ण एन्कोडिंग को हेक्साडेसिमल जोड़े के साथ उपसर्ग के रूप में लिखा जाता है ASASASASAS
 * :  जहाँ   अंतरिक्ष (विराम चिह्न) के लिए कोड है # अंतरिक्ष वर्ण और डिजिटल टाइपोग्राफी | अंतरिक्ष (रिक्त) वर्ण, ASCII कोड बिंदु 20 हेक्स में, 32 दशमलव में।
 * एक्सएमएल और एक्सएचटीएमएल में, वर्णों को अंकन का उपयोग करके हेक्साडेसिमल संख्यात्मक वर्ण संदर्भों के रूप में व्यक्त किया जा सकता है, उदाहरण के लिए   वर्ण U+2019 (सही एकल उद्धरण चिह्न) का प्रतिनिधित्व करता है। अगर वहाँ कोई नहीं है x संख्या दशमलव है (इस प्रकार   वही चरित्र है)।
 * यूनिकोड मानक में, एक वर्ण मान के साथ दर्शाया गया है  उसके बाद हेक्स मान, उदा.   यूरो चिह्न (€) है।
 * एचटीएमएल, व्यापक शैली पत्रक और एक्स विंडो सिस्टम में वेब रंग छह हेक्साडेसिमल अंकों के साथ व्यक्त किए जा सकते हैं (उस क्रम में लाल, हरे और नीले रंग के घटकों के लिए दो-दो) उपसर्ग के साथ : सफेद, उदाहरण के लिए, के रूप में दर्शाया गया है  . CSS प्रति घटक एक हेक्सडिजिट के साथ 3-हेक्सडिजिट संक्षिप्ताक्षरों की भी अनुमति देता है: #FA3 संक्षिप्त #FFAA33 (एक सुनहरा नारंगी: ).
 * MIME (ई-मेल एक्सटेंशन) में उद्धृत-प्रिंट करने योग्य एन्कोडिंग में, वर्ण कोड को हेक्साडेसिमल जोड़े के रूप में लिखा जाता है :   España है (F1 ISO/IEC 8859-1 वर्ण सेट में ñ के लिए कोड है)। )
 * इंटेल-व्युत्पन्न असेंबली भाषाओं और मोडुला-2 में, हेक्साडेसिमल को एक प्रत्यय के साथ दर्शाया गया है H या h:  या  . कुछ कार्यान्वयन के लिए अग्रणी शून्य की आवश्यकता होती है जब पहला हेक्साडेसिमल अंक दशमलव अंक नहीं होता है, इसलिए कोई लिख सकता है   के बजाय  . कुछ अन्य कार्यान्वयन (जैसे NASM) सी-शैली संख्याओं की अनुमति देते हैं.
 * अन्य असेम्बली भाषाएं (एमओएस टेक्नोलॉजी 6502, मोटोरोला), पास्कल (प्रोग्रामिंग भाषा), डेल्फी (प्रोग्रामिंग भाषा), बुनियादी के कुछ संस्करण (कमोडोर बेसिक), गेममेकर स्टूडियो, गोडोट (गेम इंजन) और फोर्थ (प्रोग्रामिंग भाषा) का उपयोग  एक उपसर्ग के रूप में:.
 * कुछ असेंबली लैंग्वेज (माइक्रोचिप) नोटेशन का उपयोग करती हैं  (एबीसीडी के लिए16). इसी तरह, फोरट्रान 95 भाषा सुविधाएँ Z'ABCD' का उपयोग करती हैं।
 * एडीए (प्रोग्रामिंग भाषा) और वीएचडीएल आधारित संख्यात्मक उद्धरणों में हेक्साडेसिमल अंकों को संलग्न करते हैं: . बिट वेक्टर स्थिरांक के लिए VHDL संकेतन का उपयोग करता है.
 * Verilog रूप में हेक्साडेसिमल स्थिरांक का प्रतिनिधित्व करता है, जहां 8 मान में बिट्स की संख्या है और FF हेक्साडेसिमल स्थिरांक है।
 * स्मॉलटाक भाषा उपसर्ग का उपयोग करती है :
 * परिशिष्ट भाग और बॉर्न शेल और इसके डेरिवेटिव उपसर्ग के साथ हेक्स को दर्शाते हैं :  . पोस्टस्क्रिप्ट के लिए, बाइनरी डेटा (जैसे छवि पिक्सेल) को बिना उपसर्ग के लगातार हेक्साडेसिमल जोड़े के रूप में व्यक्त किया जा सकता है:  ...
 * सामान्य लिस्प उपसर्गों का उपयोग करता है  और  . चर सेट करना *रीड-बेस* और *प्रिंट-बेस* पढ़ने और मुद्रण संख्याओं के लिए हेक्साडेसिमल संख्या प्रतिनिधित्व के लिए एक सामान्य लिस्प सिस्टम के रीडर और प्रिंटर को स्विच करने के लिए 16 का भी उपयोग किया जा सकता है। इस प्रकार हेक्साडेसिमल संख्याओं को #x या #16r उपसर्ग कोड के बिना प्रदर्शित किया जा सकता है, जब इनपुट या आउटपुट बेस को 16 में बदल दिया गया हो।
 * एमएसएक्स बेसिक, QuickBASIC, FreeBASIC और Visual Basic उपसर्ग हेक्साडेसिमल संख्या के साथ :
 * बीबीसी बेसिक और लोकोमोटिव बेसिक का उपयोग  हेक्स के लिए।
 * TI-89 और 92 श्रृंखला का उपयोग करता है  उपसर्ग:
 * ALGOL 68 उपसर्ग का उपयोग करता है  हेक्साडेसिमल संख्याओं को निरूपित करने के लिए:  . बाइनरी, क्वाटरनेरी (बेस-4) और ऑक्टल नंबर इसी तरह निर्दिष्ट किए जा सकते हैं।
 * पारंपरिक OS (z/OS, VSE (ऑपरेटिंग सिस्टम), z/VM, लेनदेन प्रसंस्करण सुविधा, IBM i) पर चलने वाले IBM मेनफ्रेम (zSeries) और मिडरेंज कंप्यूटर (IBM i) पर हेक्साडेसिमल के लिए सबसे आम प्रारूप है, और असेंबलर, PL/I, COBOL, नौकरी नियंत्रण भाषा, स्क्रिप्ट्स, कमांड्स और अन्य जगहों पर उपयोग किया जाता है। यह प्रारूप अन्य (और अब अप्रचलित) आईबीएम सिस्टम पर भी आम था। कभी-कभी अपॉस्ट्रॉफी के स्थान पर उद्धरण चिह्नों का प्रयोग किया जाता था।
 * किसी भी IPv6 पते को चार हेक्साडेसिमल अंकों के आठ समूहों के रूप में लिखा जा सकता है (कभी-कभी हेक्सटेट (कंप्यूटिंग) कहा जाता है), जहां प्रत्येक समूह को एक कोलन द्वारा अलग किया जाता है . उदाहरण के लिए, यह एक मान्य IPv6 पता है: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 या शून्य को हटाकर संक्षिप्त रूप में 2001:db8:85a3::8a2e:370:7334 (IPv4 पते आमतौर पर दशमलव में लिखे जाते हैं)।
 * विश्व स्तर पर अद्वितीय पहचानकर्ताओं को बत्तीस हेक्साडेसिमल अंकों के रूप में लिखा जाता है, उदाहरण के लिए, अक्सर असमान हाइफ़न-पृथक समूहों में 3F2504E0-4F89-41D3-9A0C-0305E82C3301.

10-15 के लिए अन्य प्रतीक और अधिकतर भिन्न प्रतीक सेट
कंप्यूटर के प्रारंभिक इतिहास में 9 से ऊपर के अंकों का प्रतिनिधित्व करने के लिए A से F तक के अक्षरों का उपयोग सार्वभौमिक नहीं था।
 * 1950 के दशक के दौरान, कुछ स्थापनाओं, जैसे बेंडिक्स-14, ने 0 से 5 तक के अंकों का उपयोग एक overline के साथ 10–15 के मानों को दर्शाने के लिए किया। $\overline{0}$, $\overline{1}$, $\overline{2}$, $\overline{3}$, $\overline{4}$ और $\overline{5}$.
 * SWAC (कंप्यूटर) (1950) और बेंडिक्स जी-15 (1956) कंप्यूटर ने 10 से 15 के मानों के लिए छोटे अक्षर u, v, w, x, y और z का उपयोग किया।
 * ORDVAC और ILLIAC I (1952) कंप्यूटर (और कुछ व्युत्पन्न डिज़ाइन, जैसे BRLESC) ने 10 से 15 के मानों के लिए अपरकेस अक्षरों K, S, N, J, F और L का उपयोग किया। * लाइब्रस्कोप LGP-30 (1956) ने 10 से 15 के मानों के लिए F, G, J, K, Q और W अक्षरों का उपयोग किया।  * PERM (कंप्यूटर) (1956) कंप्यूटर पर, हेक्साडेसिमल संख्याएं शून्य के लिए O, A से N और P के लिए 1 से 15 तक अक्षरों के रूप में लिखी जाती थीं। कई मशीन निर्देशों में स्मरणीय हेक्स-कोड (A=add, M=multiply, L) होते थे। = लोड, एफ = फिक्स्ड-पॉइंट इत्यादि); कार्यक्रम निर्देश के नाम के बिना लिखे गए थे। * Honeywell Datamatic D-1000 (1957) में लोअरकेस अक्षर b, c, d, e, f, और g का उपयोग किया गया जबकि Elbit 100 (1967) में अपरकेस अक्षर B, C, D, E, F और G का उपयोग किया गया मान 10 से 15। * Monrobot XI (1960) ने 10 से 15 के मानों के लिए अक्षर S, T, U, V, W और X का उपयोग किया। * NEC पैरामेट्रॉन कंप्यूटर NEAC 1103 (1960) ने 10-15 मानों के लिए D, G, H, J, K (और संभवतः V) अक्षरों का उपयोग किया।
 * पैसिफ़िक डेटा सिस्टम्स 1020 (1964) ने 10 से 15 के मानों के लिए L, C, A, S, M और D अक्षरों का उपयोग किया।

* ब्रुकहैवन राष्ट्रीय प्रयोगशाला के ब्रूस एलन मार्टिन ने A–F के चुनाव को हास्यास्पद माना। एसीएम के संचार के संपादक को 1968 के पत्र में, उन्होंने बिट स्थानों के आधार पर प्रतीकों का एक पूरी तरह से नया सेट प्रस्तावित किया। रेफरी> (29 पृष्ठ)
 * कुछ सात-खंड डिस्प्ले डिकोडर चिप्स (यानी, 74LS47) केवल 0–9 को सही ढंग से उत्पन्न करने के लिए डिज़ाइन किए गए तर्क के कारण अप्रत्याशित आउटपुट दिखाते हैं।

मौखिक और डिजिटल प्रतिनिधित्व
चूंकि दस से पंद्रह तक की मात्राओं का प्रतिनिधित्व करने के लिए कोई पारंपरिक अंक नहीं थे, इसलिए अल्फ़ाबेटिक अक्षरों को एक विकल्प के रूप में फिर से नियोजित किया गया था। अधिकांश यूरोपीय भाषाओं में ग्यारह से पंद्रह अंकों में से कुछ के लिए गैर-दशमलव-आधारित शब्दों का अभाव है। कुछ लोग हेक्साडेसिमल संख्याओं को अंकों के आधार पर पढ़ते हैं, जैसे फोन नंबर, या आईसीएओ वर्तनी वर्णमाला, संयुक्त सेना/नौसेना ध्वन्यात्मक वर्णमाला, या इसी तरह की तदर्थ प्रणाली का उपयोग करते हुए। IBM सिस्टम/360 प्रोग्रामर्स, मैग्नसन (1968) के बीच हेक्साडेसिमल को अपनाने के मद्देनजर एक उच्चारण गाइड का सुझाव दिया जो हेक्साडेसिमल के अक्षरों को संक्षिप्त नाम देता है - उदाहरण के लिए, ए का उच्चारण एन, बी बेट, सी क्रिस, आदि किया गया था। सिलिकॉन वैली (टीवी श्रृंखला) में एक मजाक के आधार पर बब्ब (2015) द्वारा एक और नामकरण प्रणाली का विस्तार किया गया था। अभी तक एक और नामकरण प्रणाली रोजर्स (2007) द्वारा ऑनलाइन प्रकाशित की गई थी जो किसी भी मामले में मौखिक प्रतिनिधित्व को अलग करने की कोशिश करता है, भले ही वास्तविक संख्या में ए-एफ संख्या न हो। उदाहरण नीचे दी गई तालिका में सूचीबद्ध हैं।

दूसरों ने चार-बिट हेक्साडेसिमल अंकों को व्यक्त करने के लिए मौखिक मोर्स कोड सम्मेलनों का उपयोग करने का प्रस्ताव दिया है, जिसमें dit और dah क्रमशः शून्य और एक का प्रतिनिधित्व करते हैं, ताकि 0000 को dit-dit-dit-dit (....), dah- के रूप में आवाज दी जा सके। dit-dit-dah (-..-) अंक को नौ के मान के साथ आवाज देता है, और dah-dah-dah-dah दशमलव 15 के लिए हेक्साडेसिमल अंक को आवाज देता है।

डिजिट (एनाटॉमी) पर गिनती की प्रणालियां बाइनरी और हेक्साडेसिमल दोनों के लिए तैयार की गई हैं। आर्थर सी. क्लार्क ने प्रत्येक उंगली को ऑन/ऑफ बिट के रूप में उपयोग करने का सुझाव दिया, जिससे उंगली को शून्य से 1023 तक गिनने की अनुमति मिलती है10 दस अंगुलियों पर। FF तक की गिनती के लिए एक और प्रणाली16 (25510) दाईं ओर सचित्र है।

चिह्न
हेक्साडेसिमल प्रणाली ऋणात्मक संख्याओं को दशमलव की तरह ही व्यक्त कर सकती है: -2A -42 का प्रतिनिधित्व करने के लिए10 और इसी तरह।

हेक्साडेसिमल का उपयोग केंद्रीय प्रसंस्करण इकाई में उपयोग किए जाने वाले सटीक बिट पैटर्न को व्यक्त करने के लिए भी किया जा सकता है, इसलिए हेक्साडेसिमल अंकों का अनुक्रम एक हस्ताक्षर या यहां तक ​​​​कि एक फ़्लोटिंग-पॉइंट अंकगणित | फ़्लोटिंग-पॉइंट मान का प्रतिनिधित्व कर सकता है। इस तरह, ऋणात्मक संख्या -4210 32-बिट प्रोसेसर रजिस्टर में FFFF FFD6 के रूप में लिखा जा सकता है (दो-पूरक में), 32-बिट फ्लोटिंग-पॉइंट यूनिट रजिस्टर में C228 0000 के रूप में या 64-बिट FPU रजिस्टर में C045 0000 0000 0000 के रूप में (IEEE फ़्लोटिंग में) -प्वाइंट मानक)।

हेक्साडेसिमल सँबोध वाचक चिन्ह
जिस प्रकार दशमलव संख्याओं को घातीय अंकन में दर्शाया जा सकता है, उसी प्रकार हेक्साडेसिमल संख्याओं को भी प्रदर्शित किया जा सकता है। पी संकेतन अक्षर पी (या पी, शक्ति के लिए) का उपयोग करता है, जबकि ई (या ई) दशमलव ई संकेतन में एक समान उद्देश्य प्रदान करता है। P के बाद की संख्या दशमलव है और बाइनरी एक्सपोनेंट का प्रतिनिधित्व करती है। एक्सपोनेंट को 1 से बढ़ाकर 2 से गुणा करें, 16 से नहीं: 20p0 = 10p1 = 8p2 = 4p3 = 2p4 = 1.0p5. आमतौर पर, संख्या को सामान्यीकृत किया जाता है ताकि हेक्साडेसिमल अंक से शुरू हो 1. (शून्य आमतौर पर है 0 बिना पी के)।

उदाहरण: 1.3DEp42 प्रतिनिधित्व करता है $1.3DE_{16} × 2^{42_{10}}|undefined$.

आईईईई 754-2008 बाइनरी फ़्लोटिंग-पॉइंट मानक द्वारा पी नोटेशन आवश्यक है, और सी (प्रोग्रामिंग भाषा) के सी 99 संस्करण में फ़्लोटिंग-पॉइंट अक्षर के लिए उपयोग किया जा सकता है। %a या %A कनवर्ज़न विनिर्देशक का उपयोग करके, यह संकेतन C99 विनिर्देश के बाद प्रिंटफ परिवार के कार्यों के कार्यान्वयन द्वारा निर्मित किया जा सकता है और एकल यूनिक्स विशिष्टता (IEEE Std 1003.1) POSIX मानक।

बाइनरी रूपांतरण
अधिकांश कंप्यूटर बाइनरी डेटा में हेरफेर करते हैं, लेकिन मनुष्यों के लिए अपेक्षाकृत छोटी बाइनरी संख्या के लिए भी बड़ी संख्या में अंकों के साथ काम करना मुश्किल होता है। हालांकि अधिकांश मनुष्य बेस 10 प्रणाली से परिचित हैं, दशमलव की तुलना में बाइनरी को हेक्साडेसिमल में मैप करना बहुत आसान है क्योंकि प्रत्येक हेक्साडेसिमल अंक बिट्स की पूरी संख्या (410). यह उदाहरण 1111 को रूपांतरित करता है2 आधार दस के लिए। चूंकि बाइनरी संख्या में प्रत्येक स्थितीय संकेतन में 1 या 0 हो सकता है, इसलिए इसका मान दाईं ओर से इसकी स्थिति द्वारा आसानी से निर्धारित किया जा सकता है:

इसलिए:
 * 00012 = 110
 * 00102 = 210
 * 01002 = 410
 * 10002 = 810

थोड़े से अभ्यास से, 1111 की मैपिंग2 एफ के लिए16 एक चरण में आसान हो जाता है: #लिखित प्रस्तुति में तालिका देखें। संख्या के आकार के साथ दशमलव के बजाय हेक्साडेसिमल का उपयोग करने का लाभ तेजी से बढ़ता है। जब संख्या बड़ी हो जाती है, दशमलव में रूपांतरण बहुत कठिन होता है। हालांकि, हेक्साडेसिमल में मैपिंग करते समय, बाइनरी स्ट्रिंग को 4-अंकीय समूहों के रूप में मानना ​​और प्रत्येक को एक हेक्साडेसिमल अंक में मैप करना तुच्छ है।

यह उदाहरण बाइनरी संख्या को दशमलव में बदलने, प्रत्येक अंक को दशमलव मान पर मैप करने और परिणाम जोड़ने को दिखाता है।

इसकी तुलना हेक्साडेसिमल में रूपांतरण से करें, जहां चार अंकों के प्रत्येक समूह को स्वतंत्र रूप से माना जा सकता है, और सीधे रूपांतरित किया जा सकता है:

हेक्साडेसिमल से बाइनरी में रूपांतरण समान रूप से प्रत्यक्ष है।

अन्य सरल रूपांतरण
हालांकि चतुर्धातुक अंक प्रणाली (आधार 4) का बहुत कम उपयोग किया जाता है, इसे आसानी से हेक्साडेसिमल या बाइनरी में परिवर्तित किया जा सकता है। प्रत्येक हेक्साडेसिमल अंक चतुर्धातुक अंकों की एक जोड़ी से मेल खाता है और प्रत्येक चतुर्धातुक अंक बाइनरी अंकों की एक जोड़ी से मेल खाता है। उपरोक्त उदाहरण में 5ईबी5216 = 11 32 23 11 024.

अष्टभुजाकार (आधार 8) प्रणाली को भी सापेक्ष आसानी से परिवर्तित किया जा सकता है, हालांकि आधार 2 और 4 के साथ उतना तुच्छ नहीं है। प्रत्येक ऑक्टल अंक चार के बजाय तीन बाइनरी अंकों से मेल खाता है। इसलिए, हम ऑक्टल और हेक्साडेसिमल के बीच एक मध्यवर्ती रूपांतरण के माध्यम से बाइनरी में परिवर्तित कर सकते हैं और इसके बाद बाइनरी अंकों को तीन या चार के समूहों में पुनर्समूहित कर सकते हैं।

स्रोत आधार में विभाजन-शेष
जैसा कि सभी आधारों के साथ होता है, स्रोत आधार में पूर्णांक विभाजन और शेष संचालन करके संख्या के प्रतिनिधित्व को हेक्साडेसिमल में परिवर्तित करने के लिए एक सरल कलन विधि होता है। सिद्धांत रूप में, यह किसी भी आधार से संभव है, लेकिन अधिकांश मनुष्यों के लिए केवल दशमलव और अधिकांश कंप्यूटरों के लिए केवल बाइनरी (जिसे कहीं अधिक कुशल तरीकों से परिवर्तित किया जा सकता है) को इस विधि से आसानी से नियंत्रित किया जा सकता है।

डी को हेक्साडेसिमल में प्रतिनिधित्व करने वाली संख्या और श्रृंखला एच होने देंihi−1...एच2h1 संख्या का प्रतिनिधित्व करने वाले हेक्साडेसिमल अंक हों।


 * 1) मैं ← 1
 * 2) एचi ← डी मोड 16
 * 3) डी ← (डी - एचi)/16
 * 4) यदि डी = 0 (वापसी श्रृंखला एचi) अन्यथा i बढ़ाएँ और चरण 2 पर जाएँ

16 को वांछित किसी अन्य आधार से बदला जा सकता है।

स्ट्रिंग प्रतिनिधित्व में किसी भी संख्या को हेक्साडेसिमल में परिवर्तित करने के लिए उपरोक्त एल्गोरिदम का जावास्क्रिप्ट कार्यान्वयन निम्नलिखित है। इसका उद्देश्य उपरोक्त एल्गोरिथम को चित्रित करना है। हालाँकि, डेटा के साथ गंभीरता से काम करने के लिए, बिटवाइज़ ऑपरेटर्स के साथ काम करना अधिक उचित है।

<वाक्यविन्यास लैंग = जावास्क्रिप्ट> फ़ंक्शन टूहेक्स (डी) { वार आर = डी% 16; अगर (डी - आर == 0) { चार (आर) पर लौटें; } हेक्स पर लौटें ((डी - आर) / 16) + टूचार (आर); }

कार्य toChar (एन) { कास्ट अल्फा = 0123456789ABCDEF; वापसी अल्फा.चारएट (एन); } 

जोड़ और गुणा के माध्यम से रूपांतरण
अंतिम प्रतिनिधित्व प्राप्त करने के लिए गुणन और जोड़ करने से पहले - स्रोत आधार में प्रत्येक स्थान को उसके स्थान मान के हेक्साडेसिमल प्रतिनिधित्व को निर्दिष्ट करके रूपांतरण करना भी संभव है। उदाहरण के लिए, संख्या B3AD को दशमलव में बदलने के लिए, हेक्साडेसिमल संख्या को इसके अंकों में विभाजित किया जा सकता है: B (1110), 3 (310), ए (1010) और डी (1310), और फिर प्रत्येक दशमलव प्रतिनिधित्व को 16 से गुणा करके अंतिम परिणाम प्राप्त करेंp (p संगत हेक्स अंक स्थिति है, दाएँ से बाएँ की ओर गिना जाता है, 0 से शुरू होता है)। इस मामले में, हमारे पास वह है:

$B3AD = (11 × 16^{3}) + (3 × 16^{2}) + (10 × 16^{1}) + (13 × 16^{0})$ जो बेस 10 में 45997 है।

रूपांतरण के लिए उपकरण
कई कंप्यूटर सिस्टम हेक्साडेसिमल सहित अक्सर विभिन्न मूलांक के बीच रूपांतरण करने में सक्षम कैलकुलेटर उपयोगिता प्रदान करते हैं।

Microsoft Windows में, कैलकुलेटर (Windows) उपयोगिता को प्रोग्रामर मोड पर सेट किया जा सकता है, जो रेडिक्स 16 (हेक्साडेसिमल), 10 (दशमलव), 8 (ऑक्टल) और 2 (बाइनरी संख्या प्रणाली) के बीच रूपांतरण की अनुमति देता है, जो आधार सबसे अधिक उपयोग किए जाते हैं। प्रोग्रामर। प्रोग्रामर मोड में, ऑन-स्क्रीन न्यूमेरिक कीपैड में हेक्साडेसिमल अंक A से लेकर F तक शामिल होते हैं, जो हेक्स चुने जाने पर सक्रिय होते हैं। हालाँकि, हेक्स मोड में, विंडोज कैलकुलेटर केवल पूर्णांकों का समर्थन करता है।

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

वैकल्पिक रूप से, कोई भी सीधे हेक्स प्रणाली के भीतर प्राथमिक संचालन भी कर सकता है - इसके जोड़ / गुणन सारणी और इसके संबंधित मानक एल्गोरिदम जैसे लंबे विभाजन और पारंपरिक घटाव एल्गोरिथ्म पर भरोसा करके।

परिमेय संख्या
अन्य अंक प्रणालियों की तरह, हेक्साडेसिमल प्रणाली का उपयोग तर्कसंगत संख्याओं का प्रतिनिधित्व करने के लिए किया जा सकता है, हालांकि दोहराए जाने वाले दशमलव सोलह (10) के बाद से आम हैं।16) का केवल एक ही अभाज्य गुणनखंड है; दो।

किसी भी आधार के लिए, 0.1 (या 1/10 ) हमेशा अपनी संख्या प्रणाली में उस आधार मान के प्रतिनिधित्व से विभाजित के बराबर होता है। इस प्रकार, चाहे बाइनरी अंक प्रणाली के लिए एक को दो से विभाजित करना हो या हेक्साडेसिमल के लिए एक को सोलह से विभाजित करना हो, इन दोनों अंशों को इस प्रकार लिखा जाता है. क्योंकि मूलांक 16 एक वर्ग संख्या (42), साठवाँ में अभिव्यक्त अंशों में दशमलव वाले की तुलना में अक्सर एक विषम अवधि होती है, और कोई चक्रीय संख्या नहीं होती है (तुच्छ एकल अंकों के अलावा)। आवर्ती अंकों को तब प्रदर्शित किया जाता है जब निम्नतम शब्दों में भाजक का एक अभाज्य गुणनखण्ड मूलांक में नहीं पाया जाता है; इस प्रकार, हेक्साडेसिमल नोटेशन का उपयोग करते समय, हर वाले सभी अंश जो दो की शक्ति नहीं हैं, आवर्ती अंकों (जैसे तिहाई और पांचवें) की अनंत स्ट्रिंग में परिणाम देते हैं। यह हेक्साडेसिमल (और बाइनरी) को परिमेय संख्याओं का प्रतिनिधित्व करने के लिए दशमलव की तुलना में कम सुविधाजनक बनाता है क्योंकि एक बड़ा अनुपात परिमित प्रतिनिधित्व की सीमा के बाहर होता है।

हेक्साडेसिमल में पूरी तरह से प्रदर्शित होने वाली सभी परिमेय संख्याएं दशमलव, ग्रहण और सेक्सेजिमल में भी पूरी तरह से प्रदर्शित की जा सकती हैं। इसके विपरीत, बाद के आधारों में उन लोगों का केवल एक अंश है जो हेक्साडेसिमल में अंतिम रूप से प्रतिनिधित्व करने योग्य हैं। उदाहरण के लिए, दशमलव 0.1 अनंत आवर्ती प्रतिनिधित्व 0.1 से मेल खाता है$\overline{9}$ हेक्साडेसिमल में। हालांकि, भाजक में दो की शक्तियों के साथ अंशों का प्रतिनिधित्व करने के लिए हेक्साडेसिमल डुओडेसिमल और सेक्सजेसिमल से अधिक कुशल है। उदाहरण के लिए, 0.062510 (एक सोलहवां) 0.1 के बराबर है16, 0.0912, और 0;3,4560.

अपरिमेय संख्या
नीचे दी गई तालिका दशमलव और हेक्साडेसिमल में कुछ सामान्य अपरिमेय संख्याओं का विस्तार देती है।

शक्तियां
हेक्साडेसिमल में दो की शक्तियों का बहुत सरल विस्तार है। दो की पहली सोलह शक्तियाँ नीचे दर्शाई गई हैं।

सांस्कृतिक इतिहास
माप की पारंपरिक चीनी इकाइयाँ बेस -16 थीं। उदाहरण के लिए, पुरानी व्यवस्था में एक जिन (斤) सोलह ताल के बराबर होता है। [[अबेकस]] (चीनी अबैकस) का उपयोग हेक्साडेसिमल गणना जैसे जोड़ और घटाव करने के लिए किया जा सकता है। डुओडेसिमल सिस्टम की तरह, हेक्साडेसिमल को पसंदीदा अंक प्रणाली के रूप में बढ़ावा देने के लिए कभी-कभी प्रयास किए गए हैं। ये प्रयास अक्सर अलग-अलग अंकों के लिए विशिष्ट उच्चारण और प्रतीकों का प्रस्ताव करते हैं। कुछ प्रस्ताव मानक उपायों को एकीकृत करते हैं ताकि वे 16 के गुणक हों। इस तरह के एक प्रारंभिक प्रस्ताव को 1862 में प्रकाशित अंकगणित, भार, माप और सिक्कों की एक नई प्रणाली की परियोजना में जॉन डब्ल्यू. निस्ट्रॉम द्वारा आगे रखा गया था, जिसे टोनल सिस्टम कहा जाना प्रस्तावित था। Nystrom ने अन्य बातों के अलावा हेक्साडेसिमल समय का सुझाव दिया, जो एक दिन को 16 से विभाजित करता है, ताकि एक दिन में 16 घंटे (या 10 बार, उच्चारित टोंटिम) हों। हेक्साडेसिमल शब्द पहली बार 1952 में दर्ज किया गया था। यह अनेक भाषाओं का मिश्रण का इस अर्थ में है कि यह ग्रीक भाषा ἕξ (हेक्स) छह को लैटिनेट-दशमलव के साथ जोड़ती है। संपूर्ण-लैटिन विकल्प :wikt:सेक्सडेसिमल (बेस 60 के लिए सेक्सेजिमल शब्द की तुलना करें) पुराना है, और 19वीं शताब्दी के अंत से कम से कम कभी-कभी इसका उपयोग देखा जाता है। यह अभी भी 1950 के दशक में बेंडिक्स कॉर्पोरेशन प्रलेखन में उपयोग में है। श्वार्ट्जमैन (1994) का तर्क है कि सेक्सडेसिमल के प्रयोग से बचा जा सकता था क्योंकि यह सेक्स के लिए संकेतात्मक संक्षिप्त नाम है।

1960 के दशक के बाद से कई पश्चिमी भाषाओं ने हेक्साडेसिमल (उदाहरण के लिए फ्रेंच हेक्साडेसिमल, इटालियन एसाडेसिमल, रोमानियाई हेक्साज़ेसिमल, सर्बियाई हेक्साडेसिमल, आदि) के गठन के समकक्ष शब्दों को अपनाया है। लेकिन अन्य लोगों ने ऐसे शब्द पेश किए हैं जो मूल शब्दों को सोलह के लिए प्रतिस्थापित करते हैं (उदाहरण के लिए ग्रीक δεκαεξαδικός, आइसलैंडिक सेक्सटैंडेकरफी, रूसी шестнадцатеричной आदि)

1960 के दशक के अंत तक शब्दावली और संकेतन व्यवस्थित नहीं हुए। 1969 में डोनाल्ड नुथ ने तर्क दिया कि व्युत्पत्ति की दृष्टि से सही शब्द सेडेनरी, या संभवतः सेडेनरी होगा, एक लैटिनेट शब्द जिसका उद्देश्य बाइनरी, टर्नरी और क्वाटरनरी आदि पर 16 प्रतिरूपित समूहों को व्यक्त करना है। नुथ के तर्क के अनुसार, दशमलव और अष्टक अंकगणित के लिए सही पद क्रमशः डेनरी और ऑक्टोनरी होंगे। अल्फ्रेड बी टेलर ने 1800 के दशक के मध्य में वैकल्पिक संख्या आधारों पर काम करने के लिए सेनिडेनरी का इस्तेमाल किया, हालांकि उन्होंने आधार 16 को इसके अंकों की असुविधाजनक संख्या के कारण खारिज कर दिया। A से F तक के अक्षरों का उपयोग करते हुए अब-वर्तमान संकेतन 1966 में शुरू होने वाले वास्तविक मानक के रूप में खुद को स्थापित करता है। आईबीएम सिस्टम/360 के लिए फोरट्रान चतुर्थ मैनुअल का प्रकाशन, जो (फोरट्रान के पिछले संस्करणों के विपरीत) हेक्साडेसिमल स्थिरांक दर्ज करने के लिए एक मानक को पहचानता है। जैसा कि ऊपर उल्लेख किया गया है, NEC (1960) और द पैसिफ़िक डेटा सिस्टम्स 1020 (1964) द्वारा वैकल्पिक संकेतन का उपयोग किया गया था। आईबीएम द्वारा अपनाया गया मानक 1968 तक व्यापक रूप से अपनाया गया लगता है, जब ब्रूस एलन मार्टिन एसीएम के संचार के संपादक को लिखे अपने पत्र में शिकायत की है कि "हेक्साडेसिमल संख्या प्रतीकों के रूप में A, B, C, D, E, F अक्षरों की हास्यास्पद पसंद के साथ दशमलव संख्याओं (या चर नामों) से ऑक्टल (या हेक्स) संख्याओं को अलग करने की पहले से ही परेशानी वाली समस्याओं को जोड़ते हुए समय हमारे पुनर्विचार के लिए बहुत अधिक है। खराब विकल्पों के वास्तविक मानक बनने से पहले ऐसा किया जाना चाहिए था!" मार्टिन का तर्क था कि गैर-दशमलव संख्याओं में 0 से 9 तक के अंकों का उपयोग हमारे लिए आधार-दस स्थान-मान योजना का अर्थ है: ऑक्टल या हेक्स में आवश्यक सात या पंद्रह गैर शून्य अंकों के लिए पूरी तरह से नए प्रतीकों (और नामों) का उपयोग क्यों नहीं किया जाता है। यहां तक ​​कि अक्षर A से P तक का उपयोग एक सुधार होगा, लेकिन पूरी तरह से नए प्रतीक सिस्टम की द्विआधारी प्रकृति को दर्शा सकते हैं। उन्होंने यह भी तर्क दिया कि संख्यात्मक अंकों के लिए वर्णानुक्रमिक अक्षरों का पुन: उपयोग सोलह शताब्दियों पहले (ब्राह्मी अंकों के रूप में, और बाद में एक हिंदू-अरबी अंक प्रणाली में) अंकों के लिए विशिष्ट, गैर-वर्णात्मक ग्लिफ़ के आविष्कार से एक विशाल पिछड़े कदम का प्रतिनिधित्व करता है। और हाल ही के ASCII मानक (ASA X3.4-1963 और USAS X3.4-1968) दस दशमलव अंकों के बाद छह कोड तालिका स्थितियों को संरक्षित करना चाहिए था - अनावश्यक रूप से इन्हें विराम चिह्नों से भरने के बजाय

(:;<=>? ) जिसे 128 उपलब्ध पदों में कहीं और रखा गया हो।

बेस 16 (ट्रांसफर एन्कोडिंग)
बेस 16 (बिना स्पेस के एक उचित नाम के रूप में) बेस 32, बेस 58 और बेस 64 के समान परिवार से संबंधित टेक्स्ट एन्कोडिंग के लिए बाइनरी का भी उल्लेख कर सकता है।

इस स्थिति में, डेटा को 4-बिट अनुक्रमों में तोड़ा जाता है, और प्रत्येक मान (0 और 15 के बीच सम्मिलित रूप से) ASCII वर्ण सेट से 16 प्रतीकों में से एक का उपयोग करके एन्कोड किया जाता है। हालांकि ASCII वर्ण सेट से कोई भी 16 प्रतीकों का उपयोग किया जा सकता है, अभ्यास में ASCII अंक '0'–'9' और अक्षर 'A'–'F' (या लोअरकेस 'a'–'f') हमेशा चुने जाते हैं हेक्साडेसिमल संख्याओं के लिए मानक लिखित अंकन के साथ संरेखित करने के लिए।

बेस16 एनकोडिंग के कई फायदे हैं:
 * अधिकांश प्रोग्रामिंग भाषाओं में पहले से ही ASCII-एन्कोडेड हेक्साडेसिमल को पार्स करने की सुविधा है
 * बिल्कुल आधा बाइट होने के कारण, 4-बिट्स क्रमशः चौड़ा और बेस64 के 5 या 6 बिट्स की तुलना में प्रक्रिया करना आसान है
 * प्रतीक 0-9 और ए-एफ हेक्साडेसिमल नोटेशन में सार्वभौमिक हैं, इसलिए इसे प्रतीक लुकअप टेबल पर भरोसा किए बिना एक नज़र में आसानी से समझा जा सकता है
 * कई सीपीयू आर्किटेक्चर में समर्पित निर्देश होते हैं जो आधे-बाइट (अन्यथा निबल के रूप में जाना जाता है) तक पहुंच की अनुमति देते हैं, जिससे यह बेस32 और बेस64 की तुलना में हार्डवेयर में अधिक कुशल हो जाता है।

बेस 16 एन्कोडिंग के मुख्य नुकसान हैं:
 * अंतरिक्ष दक्षता केवल 50% है, क्योंकि मूल डेटा से प्रत्येक 4-बिट मान को 8-बिट बाइट के रूप में एन्कोड किया जाएगा। इसके विपरीत, बेस32 और बेस64 एनकोडिंग की अंतरिक्ष क्षमता क्रमशः 63% और 75% है।
 * अपरकेस और लोअरकेस दोनों अक्षरों को स्वीकार करने की संभावित अतिरिक्त जटिलता

बेस 16 एन्कोडिंग के लिए समर्थन आधुनिक कंप्यूटिंग में सर्वव्यापी है। यह प्रतिशत-एन्कोडिंग के लिए विश्वव्यापी वेब संकाय मानक का आधार है, जहां एक वर्ण को प्रतिशत चिन्ह % और उसके बेस16-एन्कोडेड रूप से बदल दिया जाता है। अधिकांश आधुनिक प्रोग्रामिंग भाषाओं में बेस 16-एन्कोडेड नंबरों को स्वरूपित करने और पार्स करने के लिए सीधे समर्थन शामिल है।

यह भी देखें

 * बेस32, बेस64 (सामग्री एन्कोडिंग योजनाएं)
 * हेक्साडेसिमल समय
 * आईबीएम हेक्साडेसिमल फ्लोटिंग-पॉइंट
 * हेक्स संपादक
 * हेक्स डंप
 * बेली-बोरवीन-प्लॉफ फॉर्मूला (बीबीपी)
 * हेक्सस्पीक
 * पी अंकन