हेक्साडेसिमल (षोडश आधारी)

मुक्त ज्ञानकोश विकिपीडिया से
यहाँ जाएँ: भ्रमण, खोज

गणित और कंप्यूटर विज्ञान में, हेक्साडेसिमल (आधारांक साँचा:Num , या हेक्स अर्थात् षोडश) एक स्थितीय अंक प्रणाली (पोजीशनल न्यूमरल सिस्टम) है जिसके एक मूलांक (रैडिक्स) या आधारांक (बेस) का मान 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, का इस्तेमाल करना पसंद करते हैं.

रेखीय पाठ प्रणालिय़ों, जैसे - अधिकांश कंप्यूटर प्रोग्रामिंग परिवेशों में इस्तेमाल की जानी वाली प्रणालियों, में विभिन्न प्रकार के तरीकों का आगमन हुआ है:

  • यूआरएल (URL) में, कैरेक्टर कोड को % उपसर्ग युक्त हेक्साडेसिमल युग्‍म के रूप मे लिखा जाता है: http://www.example.com/name%20with%20spaces जहां %20 रिक्त स्थान (खाली जगह) कैरेक्टर (कोड मान 20 हेक्स में, 32 दशमलव में) है.
  • एक्सएमएल (XML) और एक्सएचटीएमएल (XHTML) में, कैरेक्टरों को &#xcode; नोटेशन का इस्तेमाल करके हेक्साडेसिमल संख्यात्मक कैरेक्टर रेफरेंसों के रूप में व्यक्त किया जा सकता है, जहां 'कोड , यूनीकोड मानक में कैरेक्टर के लिए निर्दिष्ट किया गया 1 से 6 अंकों वाली हेक्स संख्या है. इस प्रकार ’ घुमावदार सही एकल उद्धरण का प्रतिनिधित्व करता है (जिसका यूनीकोड मान हेक्स अंक प्रणाली में 2019 और दशमलव अंक प्रणाली में 8217 होता है).
  • एचटीएमएल (HTML) और सीएसएस (CSS) में रंग रेफरेंसों को # उपसर्ग युक्त छः हेक्स अंकों (क्रमबद्ध रूप में लाल, हरे, और नीले घटकों के लिए दो-दो अंक) के साथ व्यक्त किया जा सकता है: उदाहरण के लिए, सफ़ेद रंग को #FFFFFF द्वारा प्रदर्शित किया जाता है.[1] सीएसएस (CSS), प्रत्येक घटक के लिए एक हेक्स अंक के साथ 3 हेक्स अंक वाले संक्षिप रूपों की अनुमति प्रदान करता है: #FA3, #FFAA33 (एक सुनहरा नारंगी रंग) का संक्षिप्त रूप है.
  • *nix (यूनिक्स और उससे संबंधित) शेलों, और इसी तरह सी प्रोग्रामिंग भाषा, जिसे यूनिक्स (Unix) (और सी वाक्यात्मक अवरोहियों[2]) के लिए डिजाइन किया गया था, में हेक्स में प्रदर्शित संख्यात्मक स्थिरांकों के लिए 0x उपसर्ग का इस्तेमाल होता है: 0x5A3. कैरेक्टर और स्ट्रिंग स्थिरांक, हेक्साडेसिमल अंक प्रणाली में कैरेक्टर कोड को \x उपसर्ग के साथ व्यक्त कर सकते हैं जिसके बाद दो हेक्स अंक होते हैं: '\x1B', Esc नियंत्रण कैरेक्टर को प्रदर्शित करता है; "\x1B[0m\x1B[25;1H" एक स्ट्रिंग है जिसमें 11 कैरेक्टर (और साथ में स्ट्रिंग के अंत को चिह्नित करने के लिए एक अनुगामी एनयूएल (NUL)) होते हैं जिसके साथ दो अंत:स्थापित कैरेक्टर होते हैं.[3] printf फंक्शन फैमिली के साथ हेक्साडेसिमल के रूप में एक पूर्णांक प्राप्त करने के लिए फॉर्मेट रूपांतरण कोड %X या %x का इस्तेमाल किया जाता है.
  • यूनिकोड मानक में, कैरेक्टर के एक मान को U+ के साथ प्रदर्शित किया जाता है जिसके बाद हेक्स मान होता है: U+20AC, यूरो चिह्न (€) है.
  • एमआईएमई (MIME) (ई-मेल एक्सटेंशन) उद्धृत-मुद्रणयोग्य कूटलेखन में, जिन कैरेक्टरों को लिटरल एस्की (ASCII) कैरेक्टरों के रूप में प्रदर्शित नहीं किया जा सकता है, उन कैरेक्टरों को उनके कोड के माध्यम से दो हेक्साडेसिमल डिजिट (एस्की में) के रूप में प्रदर्शित किया जाता है जिसके साथ उपसर्ग के रूप में एक इक्वल टु साइन = लगा होता है जैसा कि "España" (स्पेन) को सेंड करने के लिए Espa=F1a में होता है. (Hexadecimal F1, equal to decimal 241, is the code number for the lower case n with tilde in the ISO/IEC 8859-1 character set.)
  • इटेल-व्युत्पन्न संयोजन भाषाओँ में, हेक्साडेसिमल को H या h प्रत्यय के साथ सूचित किया जाता है: FFh या 05A3H. कुछ कार्यान्वयनों के लिए एक अग्रणी शून्य की जरूरत पड़ती है जब पहला हेक्साडेसिमल डिजिट कैरेक्टर एक डेसिमल डिजिट नहीं होता है: 0FFh
  • अन्य संयोजन भाषाओँ (6502, एटी एण्ड टी (AT&T), मोटोरोला (Motorola)), पास्कल (Pascal), डेल्फी (Delphi), फोर्थ (Forth) और बेसिक (BASIC) (कमोडोर (Commodore)) में उपसर्ग के रूप में $ का इस्तेमाल होता है: $5A3.
  • कुछ संयोजन भाषाओँ (माइक्रोचिप (Microchip)) में नोटेशन H'ABCD' (ABCD16 के लिए) का इस्तेमाल होता है.
  • एडा (Ada) और वीएचडीएल (VHDL) में हेक्साडेसिमल अंकों को आधारांक वाले "संख्यात्मक उद्धरणों" में आबद्ध किया जाता है: 16#5A3#. वीएचडीएल (VHDL), x"5A3" का भी समर्थन करता है.
  • वेरिलोग (Verilog), हेक्साडेसिमल स्थिरांकों को 8'hFF के रूप में प्रदर्शित करता है जहां 8, बिट्स की संख्या है और FF, हेक्साडेसिमल स्थिरांक है.
  • Modula-2 and some other languages use # as a prefix: #05A3
  • स्मॉलटॉक (Smalltalk) प्रोग्रामिंग भाषा में उपसर्ग के रूप में 16r का इस्तेमाल होता है: 16r5A3
  • पोस्टस्क्रिप्ट, 16# उपसर्ग वाले हेक्स को सूचित करता है: 16#5A3. बाइनरी डेटा (जैसे - इमेज पिक्सेल) को बिना उपसर्ग वाले क्रमागत हेक्साडेसिमल युग्म के रूप में व्यक्त किया जा सकता है: AA213FD51B3801043FBC...
  • In early systems when a Macintosh crashed, one or two lines of hexadecimal code would be displayed under the Sad Mac to tell the user what went wrong.
  • कॉमन लिस्प (Common Lisp)

में उपसर्ग के रूप में #x और #16r का इस्तेमाल होता है.

  • क्विकबेसिक (QuickBASIC), फ्रीबेसिक (FreeBASIC) और विजुअल बेसिक (Visual Basic) में हेक्साडेसिमल संख्याओं के साथ उपसर्ग के रूप में &H का इस्तेमाल होता है: &H5A3
  • बीबीसी बेसिक (BBC BASIC) और लोकोमोटिव बेसिक (Locomotive BASIC) में हेक्स के लिए & का इस्तेमाल होता है.[4]
  • टीआई-89 (TI-89) और 92 श्रृंखला में 0h उपसर्ग का इस्तेमाल होता है: 0h5A3
  • X'5A3' जैसे नोटेशन कभी-कभी देखने को मिलते हैं, जैसे - PL/I में. यह पारंपरिक ओएस (OS) (जेडओएस (zOS), जेडवीएसई (zVSE), जेडवीएम (zVM), टीपीएफ (TPF), ओएस/400 (OS/400)) का संचालन करने वाले आईबीएम (IBM) मेनफ्रेम (जेडसीरीज़ (zSeries)) और मिडरेंज कंप्यूटरों (आईसीरीज़ (iSeries)) के हेक्साडेसिमल का सबसे आम प्रारूप है, और इसका इस्तेमाल असेम्बलर (Assembler), पीएल/1 (PL/1), कोबोल (Cobol), जेसीएल (JCL), स्क्रिप्ट्स, कमांड्स और अन्य स्थानों में किया जाता है. This format was common on other (and now obsolete) IBM systems as well.
  • Donald Knuth introduced the use of a particular typeface to represent a particular radix in his book The TeXbook .[5] Hexadecimal representations are written there in a typewriter typeface: 5A3
  • किसी भी आईपीवी6 (IPv6) एड्रेस को चार हेक्साडेसिमल अंकों के आठ सम्हूं के रूप में लिखा जा सकता है जहां प्रत्येक समूह को एक अर्धविराम (:) के माध्यम से अलग किया जाता है. This, for example, is a valid IPv6 address: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
चित्र:Bruce Martin hexadecimal notation proposal.png
ब्रूस ए. मार्टिन का हेक्साडेसिमल नोटेशन प्रस्ताव

अक्षर अंकों के लिए लोअरकेस या अपरकेस का इस्तेमाल करने की कोई सार्वभौमिक परंपरा नहीं है और समुदाय के मानकों या परंपरा के माध्यम से विशेष परिवेशों में प्रत्येक का प्रचलन है या प्रत्येक को प्राथमिकता दी जाती है.

कंप्यूटरों के आरंभिक इतिहास में नौ से ऊपर के अंकों को प्रदर्शित करने के लिए A से लेकर F तक के अक्षरों का विकल्प सार्वभौमिक नहीं था. 1950 के दशक के दौरान, 10 से 15 तक के मानों को सूचित करने के लिए एक मैक्रोन कैरेक्टर ("¯") के साथ 0 से लेकर 5 तक के अंकों का इस्तेमाल करने पर कुछ प्रतिष्ठापन कार्य अनुकूल साबित हुए. बेंडिक्स जी-15 कंप्यूटर उपयोगकर्ता U से लेकर Z तक के अक्षरों का उपयोग करते थे. ब्रुकहैवेन नैशनल लैबोरेटरी के ब्रूस ए. मार्टिन A से F के इस्तेमाल के विकल्प को "हास्यास्पद" मानते थे और सीएसीएम (CACM) के सम्पादक को 1968 में लिखे गए एक पत्र में उन्होंने बिट लोकेशनों पर आधारित प्रतीकों के एक सम्पूर्ण नए समूह के इस्तेमाल का प्रस्ताव दिया जिसे पर्याप्त रूप से स्वीकार नहीं किया गया.[6]

वर्बल और डिजिटल प्रदर्शन[संपादित करें]

दस से पंद्रह तक की मात्राओं को प्रदर्शित करने के लिए कोई पारंपरिक अंक उपलब्ध नहीं है—इनकी जगह अक्षरों का इस्तेमाल किया जाता है—और अधिकांश पश्चिमी यूरोपीय भाषाओं में दस से ऊपर के अंकों के लिए गैर-दशमलव नामों का अभाव है. अंग्रेजी में कई गैर-दशमलव घातों (प्रथम बाइनरी घात के लिए जोड़ा , प्रथम वाइजेसिमल घात के लिए स्कोर , प्रथम तीन द्विदशमलव घातों के लिए दर्जन , ग्रॉस (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 हो सकता है, इसलिए इसके मान को दायीं तरफ से इसकी स्थिति द्वारा बड़ी आसानी से निर्धारित किया जा सकता है:

  • 00012 = 110
  • 00102 = 210
  • 01002 = 410
  • 10002 = 810

इसलिए:

11112 = 810 + 410 + 210 + 110
  = 1510

आश्चर्यजनक रूप से कम अभ्यास के साथ, एक चरण में 11112 को F16 में मैप करना आसान हो जाता है: हेक्साडेसिमल के प्रदर्शन की तालिका को देखें. दशमलव के बजाय हेक्साडेसिमल के इस्तेमाल से होने वाले लाभ की वजह से संख्या के आकार में तेज़ी से वृद्धि हो जाती है. जब संख्या बहुत बड़ी हो जाती है, तो इसे दशमलव में रूपांतरित करना बहुत कठिन हो जाता है. हालांकि, हेक्साडेसिमल की मैपिंग करने पर बाइनरी स्ट्रिंग को 4 अंकों वाले समूहों के रूप में मान्यता देना और प्रत्येक को एक एकल हेक्साडेसिमल अंक में मैप करना नगण्य हो जाता है.

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

010111101011010100102 = 26214410 + 6553610 + 3276810 + 1638410 + 819210 + 204810 + 51210 + 25610 + 6410 + 1610 + 210
  = 38792210

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

010111101011010100102 = 0101 1110 1011 0101 00102
  = 5 E B 5 216
  = 5EB5216

हेक्साडेसिमल से बाइनरी में किया जाने वाला रूपांतरण भी उतना ही प्रत्यक्ष होता है.

ऑक्टल (अष्टाधारी) प्रणाली को बाइनरी कंप्यूटर डेटा का प्रत्यक्ष सामना करने वाले लोगों के लिए एक साधन के रूप में भी इस्तेमाल किया जा सकता है. ऑक्टल डेटा को चार के बजाय तीन बिट्स प्रति कैरेक्टर के रूप में दर्शाता है.

अन्य आधारांकों से रूपांतरण[संपादित करें]

स्रोत आधारांक में भाग-शेष[संपादित करें]

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

चलिए b को हेक्साडेसिमल में प्रदर्शित करने वाली संख्या मान लेते हैं, और hihi-1...h2h1 श्रृंखला को इस संख्या को प्रदर्शित करने वाले हेक्साडेसिमल अंक मान लेते हैं.

  1. i := 1
  2. hi := d मॉड 16
  3. d := (d-hi) / 16
  4. अगर d = 0 (वापसी श्रृंखला hi) और वृद्धि i और चरण 2 में जाएं

"16" को किसी अन्य आधारांक के साथ प्रतिस्थापित किया जा सकता है जो वांछनीय हो सकता है.

निम्नलिखित, स्ट्रिंग प्रदर्शन में किसी भी संख्या को एक हेक्साडेसिमल में रूपांतरित करने के लिए उपरोक्त एल्गोरिथ्म का एक जावास्क्रिप्ट (JavaScript) कार्यान्वयन है. इसका उद्देश्य उपरोक्त एल्गोरिथ्म का वर्णन करना है. तथापि, डेटा के साथ गंभीरतापूर्वक काम करने के लिए काफी हद तक बिटवाइज़ ऑपरेटरों के साथ काम करने की सलाह दी जा सकती है.

function toHex(d) {
 var r = d % 16;
 var result;
 if (d-r == 0)  
 result = toChar(r);
 else  
 result = toHex( (d-r)/16 ) + toChar(r);
 return result;
}
 
function toChar(n) {
 const alpha = "0123456789ABCDEF";
 return alpha.charAt(n);
}

जोड़ और गुणा[संपादित करें]

एक हेक्साडेसिमल गुणन तालिका

स्रोत आधारांक में प्रत्येक स्थान को इसके स्थान मान का हेक्साडेसिमल प्रदर्शन प्रदान करके और उसके बाद अंतिम प्रदर्शन प्राप्त करने के लिए जोड़ और गुणा करके भी रूपांतरण कार्य किया जा सकता है. अर्थात् B3AD संख्या को दशमलव संख्या में रूपांतरित करने के लिए कोई भी इस रूपांतरण को D (1310), A (1010), 3 (310) और B (1110) में विभाजित कर सकता है और उसके बाद प्रत्येक दशमलव प्रदर्शन को 16p से गुणा करके अंतिम परिणाम प्राप्त कर सकता है, जहां 'p' दाएं से बाएं अनुकूल स्थिति है जो 0 से शुरू होता है. इस स्थिति में हमें 13*(160) + 10*(161) + 3*(162) + 11*(163) प्राप्त होता है जो दशमलव प्रणाली में 45997 के बराबर है.

रूपांतरण के साधन[संपादित करें]

ग्राफिकल यूजर इंटरफेस वाली सबसे आधुनिक कंप्यूटर प्रणालियां एक अंतर्निर्मित कैलकुलेटर यूटिलिटी प्रदान करती हैं जिसमें विभिन्न मूलांकों के बीच रूपांतरण करने की क्षमता होती है जिसमें आम तौर पर हेक्साडेसिमल भी शामिल होता है.

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

वास्तविक संख्या[संपादित करें]

जैसा कि अन्य संख्यात्मक प्रणालियों के साथ होता है, हेक्साडेसिमल प्रणाली का इस्तेमाल परिमेय संख्याओं को प्रदर्शित करने के लिए किया जा सकता है, हालांकि आवर्ती अंक आम होते हैं क्योंकि सोलह (10h) में केवल एक एकल अभाज्य गुणनखंड (दो) होता है:

    ½
=
0.8     
=
0.2A     1⁄A
=
0.19     1⁄E
=
0.1249
    
=
0.5     1⁄7
=
0.249     1⁄B
=
0.1745D     1⁄F
=
0.1
    ¼
=
0.4     
=
0.2     1⁄C
=
0.15     1⁄10
=
0.1
    
=
0.3     1⁄9
=
0.1C7     1⁄D
=
0.13B     1⁄11
=
0.0F

जहां एक ओवरलाइन एक आवर्ती पद्धति को सूचित करता है.

किसी भी आधारांक के लिए, 0.1 (या "1/10") हमेशा उसके बराबर होता है जो अपनी खुद की संख्या प्रणाली में उस आधारांक मान के प्रदर्शन से विभाजित होता है: आधारांक 3 की गिनती 0, 1, 2, 10 (तीन) है. इस प्रकार, चाहे बाइनरी के लिए एक को दो से विभाजित किया जाए या हेक्साडेसिमल के लिए एक को सोलह से विभाजित किया जाए, इनमें से दोनों गुणनखण्डों को 0.1 ही लिखा जाता है. चूंकि मूलांक 16, एक पूर्ण वर्ग (4²) है, इसलिए हेक्साडेसिमल में व्यक्त गुणन खंड की विषम अवधि, अक्सर दशमलव में व्यक्त गुणन खण्डों से कहीं अधिक होती है, और (नगण्य एकल अंकों के अलावा) कोई चक्रीय संख्या नहीं होती है. आवर्ती अंक तब प्रदर्शित होते हैं जब सबसे निचले पदों के हर में एक अभाज्य गुणन खंड होता है जो मूलांक में नहीं मिलता है; इस प्रकार, हेक्साडेसिमल नोटेशन (अंकन) का इस्तेमाल करते समय, हर के साथ सभी गुणन खंड, जो दो के घात नहीं हैं, आवर्ती अंकों (जैसे तीन और पांच वाले) के एक इनपरिमित स्ट्रिंग में परिणत हो जाते हैं. यह तर्कसंगत संख्याओं को प्रदर्शित करने के लिए हेक्साडेसिमल (और बाइनरी) को दशमलव की तुलना में कम सुविधाजनक बनाता है क्योंकि एक बहुत बड़ा भाग परिमित प्रदर्शन की सीमा के बाहर ही रह जाता है.

हेक्साडेसिमल में परिमित तौर पर प्रदर्शनीय सभी तर्कसंगत संख्याएं, दशमलव, डुओडेसिमल, और सेक्साजेसिमल में भी परिमित तौर पर प्रदर्शनीय होती हैं: अर्थात्, अंकों की एक परिमित संख्या के साथ कोई भी हेक्साडेसिमल संख्या में अंकों की एक परिमित संख्या होती है जब इन्हें उन अन्य मूलानकों में व्यक्त किया जाता है. इसके विपरीत, केवल बाद वाले मूलानकों में परिमित तौर पर प्रदर्शनीय होने वाला एक गुणन खंड, हेक्साडेसिमल में परिमित तौर पर प्रदर्शनीय होता है. उदाहरण के लिए, दशमलव 0.1 हेक्साडेसिमल में अपरिमित आवर्ती प्रदर्शन 0.199999999999... से मेल खाता है. हालांकि, हेक्साडेसिमल, हर में दो के घात के साथ गुणन खण्डों को प्रदर्शित करने के लिए 12 और 60 मूलानकों से अधिक कुशल होता है (जैसे - दशमलव एक का सोलहवां भाग हेक्साडेसिमल में 0.1, डुओडेसिमल में 0.09, सेक्साजेसिमल में 0;3,45 और डेसिमल में 0.0625 होता है).

दशमलव में
मूलांक के अभाज्य गुणन खंड: 2 , 5
हेक्साडेसिमल में
मूलांक के अभाज्य गुणन खंड: 2
गुणन खंड अभाज्य गुणन खंड
हर का
स्थितीय प्रतिनिधित्व स्थितीय प्रतिनिधित्व अभाज्य गुणन खंड
हर का
गुणन खंड
1/2 2 0.5 0.8 2 1/2
1/3 3 0. 3333... = 0. 3 0. 5555... = 0. 5 3 1/3
1/4 2 0.25 0.4 2 1/4
1/5 5 0.2 0. 3 5 1/5
1/6 2 , 3 0.1 6 0.2 A 2 , 3 1/6
1/7 7 0. 142857 0. 249 7 1/7
1/8 2 0.125 0.2 2 1/8
1/9 3 0. 1 0. 1C7 3 1/9
1/10 2 , 5 0.1 0.1 9 2 , 5 1/A
1/11 11 0. 09 0. 1745D B 1/B
1/12 2 , 3 0.08 3 0.1 5 2 , 3 1/C
1/13 13 0. 076923 0. 13B D 1/D
1/14 2 , 7 0.0 714285 0.1 249 2 , 7 1/E
1/15 3 , 5 0.0 6 0. 1 3 , 5 1/F
1/16 2 0.0625 0.1 2 1/10
1/17 17 0. 0588235294117647 0. 0F 11 1/11
1/18 2 , 3 0.0 5 0.0 E38 2 , 3 1/12
1/19 19 0. 052631578947368421 0.0 D79435E50 13 1/13
1/20 2 , 5 0.05 0.0 C 2 , 5 1/14
1/21 3 , 7 0. 047619 0. 0C3 3 , 7 1/15
1/22 2 , 11 0.0 45 0.0 BA2E8 2 , B 1/16
1/23 23 0. 0434782608695652173913 0.0 B21642C8590 17 1/17
1/24 2 , 3 0.041 6 0.0 A 2 , 3 1/18
1/25 5 0.04 0.0 A3D70 5 1/19
1/26 2 , 13 0.0 384615 0.0 9D8 2 , B 1/1A
1/27 3 0. 037 0. 097B425ED 3 1/1B
1/28 2 , 7 0.03 571428 0.0 924 2 , 7 1/1C
1/29 29 0. 0344827586206896551724137931 0. 08D3DCB 1D 1/1D
1/30 2 , 3 , 5 0.0 3 0.0 8 2 , 3 , 5 1/1E
1/31 31 0. 032258064516129 0. 08421 1F 1/1F
1/32 2 0.03125 0.08 2 1/20
1/33 3 , 11 0. 03 0. 07C1F 3 , B 1/21
1/34 2 , 17 0.0 2941176470588235 0.0 78 2 , 11 1/22
1/35 5 , 7 0.0 285714 0. 075 5 , 7 1/23
1/36 2 , 3 0.02 7 0.0 71C 2 , 3 1/24
बीजगणितीय अपरिमेय संख्या दशमलव में हेक्साडेसिमल में
√ 2 (एक इकाई वर्ग के विकर्ण की लम्बाई) 1.41421356237309... 1.6A09E667F3BCD...
√ 3 (एक इकाई घन के विकर्ण की लम्बाई) 1.73205080756887... 1.BB67AE8584CAA...
√ 5 (एक 1×2 आयत के विकर्ण की लम्बाई) 2.2360679774997... 2.3C6EF372FE95...
φ (फाई, सुनहरा अनुपात = (1+√5)⁄2) 1.6180339887498... 1.9E3779B97F4A...
ट्रान्सेंडैंटल तर्कहीन संख्या    
π (पाई, परिधि और व्यास का अनुपात) 3.1415926535897932384626433
8327950288419716939937510...
3.243F6A8885A308D313198A2E0
3707344A4093822299F31D008...
e (प्राकृतिक लघुगणक का आधारांक) 2.7182818284590452... 2.B7E151628AED2A6B...
τ (थ्यू–मोर्स स्थिरांक) 0.412454033640... 0.6996 9669 9669 6996 ...
संख्या    
γ (हार्मोनिक श्रृंखला और प्राकृतिक लघुगणक के बीच का सीमित अंतर) 0.5772156649015328606... 0.93C467E37DB0C7A4D1B...

घात[संपादित करें]

शायद सबसे व्यापक रूप से इस्तेमाल किए जाने वाले घात, दो के घात, आधारांक 16 का इस्तेमाल करके दिखाना ज्यादा आसान होता है. दो के पहले सोलह घातों को नीचे दिखाया गया है.

2x मान
20 1
21 2
22 4
23 8
24 10हेक्स
25 20हेक्स
26 40हेक्स
27 80हेक्स
28 100हेक्स
29 200हेक्स
2A (2^{10_{dec}}2^{10_{dec}}) 400हेक्स
2B (2^{11_{dec}}2^{11_{dec}}) 800हेक्स
2C (2^{12_{dec}}2^{12_{dec}}) 1000हेक्स
2D (2^{13_{dec}}2^{13_{dec}}) 2000हेक्स
2E (2^{14_{dec}}2^{14_{dec}}) 4000हेक्स
2F (2^{15_{dec}}2^{15_{dec}}) 8000हेक्स
210 (2^{16_{dec}}2^{16_{dec}}) 10000हेक्स

चूंकि चार का वर्ग सोलह होता है इसलिए चार के घात का एक सम सरल सम्बन्ध होता है:

4x मान
40 1
41 4
42 10हेक्स
43 40हेक्स
44 100हेक्स
45 400हेक्स
46 1000हेक्स
47 4000हेक्स
48 10000हेक्स

दो और चार का इस्तेमाल करते समय यह टेट्रेशन को और ज्यादा आसान भी बना देता है.
32 = 24 = 10हेक्स,
42 = 216 = 10000हेक्स और
52 = 265536 = (1 के बाद 16384 शून्य)हेक्स.

सांस्कृतिक[संपादित करें]

शब्द व्युत्पत्ति[संपादित करें]

हेक्साडेसिमल शब्द हेक्सा- और -डेसिमल शब्दों से मिलकर बना है जिसमें से हेक्सा- शब्द को यूनानी शब्द έξ (हेक्स) से लिया गया है जिसका इस्तेमाल "छः" के लिए किया जाता है और -डेसिमल शब्द "दसवां" के लिए इस्तेमाल होने वाले लैटिन शब्द से लिया गया है. वेबस्टर (Webster) का तीसरा नया अंतर्राष्ट्रीय ऑनलाइन "हेक्साडेसिमल" को सभी लैटिन "सेक्साडेसिमल" (जो आरंभिक बेंडिक्स प्रलेखन में देखने को मिलता है) के एक परिवर्तन के रूप में प्राप्त करता है. मेरियम-वेबस्टर कॉलेजिएट ऑनलाइन में "हेक्साडेसिमल" के लिए साक्ष्यांकित सबसे आरंभिक तिथि 1954 है जिसे अंतर्राष्ट्रीय वैज्ञानिक शब्दावली (आईएसवी (ISV)) सुरक्षित ढ़ंग से रख दिया गया है. यह मुक्त रूप से यूनानी और लैटिन संयोजन रूपों को समीश्रित करने के लिए आईएसवी (ISV) में आम है. "सेक्साजेसिमल" शब्द (आधारांक 60 के लिए) में लैटिन उपसर्ग रह जाता है. डोनाल्ड नुथ ने कहा है कि शब्द व्युत्पत्ति की दृष्टि से सही शब्द "सेनिडेनरी" है, जो "16 द्वारा समूहीकृत" के लिए इस्तेमाल होने वाले लैटिन शब्द से लिया गया है. ("बाइनरी", "टर्नरी" और "क्वाटर्नरी" शब्दों एक ही लैटिन रचना से लिया गया है और शब्द व्युत्पत्ति की दृष्टि से "दशमलव" अंकगणित के लिए सही शब्द "डर्नरी" है.)[7] श्वार्ट्जमैन के अनुसार सामान्य लाइटिंग वाक्यांशों से लिया गया प्रत्याशित रूप "सेक्साडेसिमल" होगा, लेकिन कंप्यूटर हैकर उस शब्द को छोटा करके "सेक्स" करने का प्रयत्न करेंगे.[8] शब्द व्युत्पत्ति की दृष्टि से उचित यूनानी शब्द हेक्साडेकाडिक (हालांकि आधुनिक यूनानी भाषा में ज्यादातर डेका-हेक्साडिक (δεκαεξαδικός) का इस्तेमाल किया जाता है) होगा.

आम पद्धतियां और हास्य[संपादित करें]

For more details on this topic, see Hexspeak.

हेक्साडेसिमल का इस्तेमाल कभी-कभी प्रोग्रामर जोक में किया जाता है क्योंकि कुछ शब्दों का निर्माण केवल हेक्साडेसिमल अंकों का इस्तेमाल करके ही किया जा सकता है. इनमें से कुछ शब्द "डेड", "बीफ", "बेब", और उपयुक्त प्रतिस्थापन के साथ "कॉफी" हैं. चूंकि इन्हें प्रोग्रामर तुरंत पहचान सकते हैं, इसलिए डिबगिंग सेटअप कभी-कभी प्रोग्रामरों के लिए मेमोरी को चालू करते हैं ताकि प्रोग्रामरों को यह देखने में मदद मिल सके कि कब कोई काम चालू नहीं हुआ है. कुछ लोग संख्या के बाद एक H लगाते हैं यदि वे यह दिखाना चाहते हो कि इसे हेक्साडेसिमल में लिखा गया है. पुराने इंटेल असेम्बली सिंटेक्स में, ऐसा कभी-कभी होगा है.

यूनिवर्सल (Universal) माक-ओ (Mach-O) फाइलों और जावा (Java) क्लास फ़ाइल स्ट्रक्चर की एक जादुई संख्या इसका उदाहरण है जो "CAFEBABE" है. एकल-अवसंरचना 32-बिट बड़े-अंत वाले माक-ओ फाइलों के शुरू में जादुई संख्या "FEEDFACE" होती है. "DEADBEEF" को कभी-कभी अप्रारंभीकृत मेमोरी में डाल दिया जाता है. माइक्रोसॉफ्ट विंडोज एक्सपी (Microsoft Windows XP) अपने बंद index.dat फाइलों को हेक्स कोड: "0BADF00D" से साफ़ करता है. विज़ुअल सी++ (Visual C++) रिमोट डिबगर टार्गेट सिस्टम के के टूटे हुए लिंक को दर्शाने के लिए "BADCAB1E" का इस्तेमाल करता है.

टेस्ट हार्डवेयर के लिए अक्सर इस्तेमाल किए जाने वाले दो आम बिट पद्धतियां 01010101 और 10101010 हैं (उनके समतुल्य हेक्स मान क्रमशः 55h और AAh हैं). इनका इस्तेमाल ऑफ ('0') से ऑन ('1') या ऑन ('1') से ऑफ ('0') में फेर-बदल करने के लिए किया जाता है जब इन दो पद्धतियों में स्विच (फेर-बदल) किया जाता है. इन दो मानों का इस्तेमाल अक्सर महत्वपूर्ण पीसी सिस्टम सेक्टरों में सिग्नेचरों के रूप एक साथ किया जाता है (जैसे - हेक्स शब्द, 0xAA55 जो कम-अंत वाले सिस्टमों में 55h होता है जिसके बाद AAh होता है जिसे एक वैध मास्टर बूट रिकॉर्ड के अंत में ही होना चाहिए).

निम्न तालिका हेक्साडेसिमल में एक जोक को प्रदर्शित करता है:

3x12=36
2x12=24
1x12=12
0x12=18

प्रथम तीन को गुणा के रूप में रूपांतरित किया जाता है, लेकिन अंत में, "0x" 12 के हेक्साडेसिमल रूपांतरण का संकेत देता है, जिसका मान 18 होता है.

वर्णमाला (और इस प्रकट वे जिनका इस्तेमाल हेक्साडेसिमल में किया गया है) में केवल प्रथम छः अक्षरों वाले एक शब्द के उपयोग पर आधारित एक अन्य जोक है...

अगर केवल मृत लोग हेक्साडेसिमल को समझते हैं, तो कितने लोग हेक्साडेसिमल को समझते हो?

इस मामले में, जीवित न रहने वाली स्थिति के विपरीत , "मृत" शब्द एक हेक्साडेसिमल संख्या DEAD (57005 आधारांक 10) को संदर्भित करता है.

एक नुथ रिवार्ड चेक एक हेक्साडेसिमल, या $2.56 होता है.

प्राथमिक अंक प्रणाली[संपादित करें]

दर्जन के समर्थन की तरह, हेक्साडेसिमल को वरीयताप्राप्त अंक प्रणाली के रूप में प्रोत्साहित करने के लिए सामयिक प्रयास किए गए हैं. ये प्रयास आमतौर पर उच्चारण और/या प्रतीकविद्या को प्रस्तावित करते हैं.[9] कभी कभी प्रस्ताव मानक उपायों को एक कर देता है जिससे वे 16 के गुणक हो जाते हैं.[10] [11] [12]

मानक उपायों को एकीकृत करने का एक उदाहरण हेक्साडेसिमल समय है जो एक दिन को 16 से उपविभाजित कर देता है जिससे एक दिन में 16 "हेक्स घंटे" हो जाते हैं.[12]

संख्या आधारांक अंकन का मूल[संपादित करें]

आर्टिकल में इस्तेमाल किए जाने वाले अंकनों का सरल मूल

पूर्ण पाठ अंकन संक्षिप्त रूप आधारांक संख्या
बाइनरी बिन 2
ऑक्टल ऑक्ट 8
दशमलव डेस 10
हेक्साडेसिमल हेक्स 16

इन्हें भी देखें[संपादित करें]

  • आधारांक32 (कंटेंट एन्कोडिंग स्कीम)
  • आधारांक64 (कंटेंट एन्कोडिंग स्कीम)
  • द्विगुण अंक प्रणाली
  • हेक्स संपादक
  • हेक्स्डंप
  • हेक्साडेसिमल टाइम
  • हेक्सस्पीक
  • एचटीएम्एल (HTML)
  • निबल - वन हेक्साडेसिमल डिजिट कैन एक्जैक्टली रिप्रेजेंट वन "निबल"
  • निउमरल सिस्टम - अन्य आधारांक सिस्टम की एक सूची
  • वेब कलर्स


संदर्भ[संपादित करें]

  1. "Hexadecimal web colors explained". http://www.web-colors-explained.com/hex.php. 
  2. C के कुछ सिंटैकटिक डिसेंडेंट्स है C++, C#, जावा, जावास्क्रिप्ट और विन्डोज़ पॉवरशेल
  3. द स्ट्रिंग "\x1B[0m\x1B[25;1H" चरित्र का चित्रण करता है Esc [ 0 m Esc [ 2 5 ; 1 H Nul. ये एस्केप सिकुएंसेस है जो एएनएसआई (ANSI) टर्मिनल में प्रियोग होती है, यह कैरेक्टर सेट और कलर को रिसेट करके कर्सर को 25 वीं लाइन में ले जाती है.
  4. बेसिक (बिना संशोधन के) में बीबीसी बेसिक प्रोग्राम्स पूरी तरह से वहनीय नहीं है और माइक्रोसॉफ्ट & ले लेता है ओक्टाल वैल्यूज़ को pref (Microsoft BASIC मुख्यतः का उपयोग करता &O के लिए अष्टाधारी उपसर्ग है, और इसे इस्तेमाल करता है &H के हेक्साडेसिमल उपसर्ग है, लेकिन अकेले एम्परसेंड उपसर्ग के रूप में एक अष्टाधारी व्याख्या पैदावार एक डिफ़ॉल्ट.
  5. डोनाल्ड ई. नुथ. द टेक्स्टबुक (कंप्यूटर और टाइपसेटिंग, खंड ए). रीडिंग, मैसाचुसेट्स: एडीसन-वेस्ली, 1984. ISBN 0-201-13448-9. द सोर्स कोड ऑफ़ द बुक इन टेक्स (और मैक्रोज़ CTAN.org का आवश्यक सेट) सीटीएएन (CTAN) पर ऑनलाइन उपलब्ध है.
  6. लेटर्स टू द एडिटर: ऑन बायनरी नोटेशन, ब्रूस ए. मार्टिन, एसोसिएटेड विश्वविद्यालयों इंक., एसीएम (ACM) पर संचार, खंड 11, अंक 10 (अक्टूबर 1968) पृष्ठ: 658
  7. नुथ, डोनाल्ड. (1969). द आर्ट ऑफ़ कंप्यूटर प्रोग्रामिंग में डोनल्ड नुथ, खंड 2. आईएसबीएन (ISBN) 0-201-03802-1. (अध्याय 17.)
  8. स्च्वार्त्ज़मैन, एस (1994). द वर्ड्स ऑफ़ मैथमैटिक्स: एन एटीमौलॉजिकल डिक्शनरी ऑफ़ मैथेमैटिकल टर्म्स यूस्ड इन इंग्लिश . आईएसबीएन (ISBN) 0-88385-511-9.
  9. "Base 4^2 Hexadecimal Symbol Proposal". http://www.hauptmech.com/base42. 
  10. "Intuitor Hex Headquarters". http://www.intuitor.com/hex/. 
  11. "A proposal for addition of the six Hexadecimal digits (A-F) to Unicode". http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2677. 
  12. Nystrom, John William (1862). Project of a New System of Arithmetic, Weight, Measure and Coins: Proposed to be called the Tonal System, with Sixteen to the Base. Philadelphia. http://books.google.com/books?id=aNYGAAAAYAAJ.