"षोडश आधारी": अवतरणों में अंतर

छो बॉट: पुनर्प्रेषण ठीक कर रहा है
छो Bot: Replace deprecated <source> tag and "enclose" parameter [https://lists.wikimedia.org/pipermail/wikitech-ambassadors/2020-April/002284.html]; ऊपरी परिवर्तन
पंक्ति 8:
 
रेखीय पाठ प्रणालिय़ों, जैसे - अधिकांश कंप्यूटर प्रोग्रामिंग परिवेशों में इस्तेमाल की जानी वाली प्रणालियों, में विभिन्न प्रकार के तरीकों का आगमन हुआ है:
* यूआरएल (URL) में, कैरेक्टर कोड को <code>%</code> उपसर्ग युक्त हेक्साडेसिमल युग्‍म के रूप में लिखा जाता है: <code><nowiki>http://www.example.com/name%20with%20spaces</nowiki></code> जहां <code>%20</code> रिक्त स्थान (खाली जगह) कैरेक्टर (कोड मान 20 हेक्स में, 32 दशमलव में) है।
* [[एक्स॰एम॰एल॰|एक्सएमएल (XML)]] और एक्सएचटीएमएल (XHTML) में, कैरेक्टरों को &amp;#xc<code>ode;</code> नोटेशन का इस्तेमाल करके हेक्साडेसिमल संख्यात्मक कैरेक्टर रेफरेंसों के रूप में व्यक्त किया जा सकता है, जहां ''''कोड'' '', [[यूनिकोड|यूनीकोड]] मानक में कैरेक्टर के लिए निर्दिष्ट किया गया 1 से 6 अंकों वाली हेक्स संख्या है। इस प्रकार &amp;#x2019<code>;</code> घुमावदार सही एकल उद्धरण का प्रतिनिधित्व करता है (जिसका यूनीकोड मान हेक्स अंक प्रणाली में 2019 और दशमलव अंक प्रणाली में 8217 होता है).
* एचटीएमएल (HTML) और सीएसएस (CSS) में रंग रेफरेंसों को <code>#</code> उपसर्ग युक्त छः हेक्स अंकों (क्रमबद्ध रूप में लाल, हरे और नीले घटकों के लिए दो-दो अंक) के साथ व्यक्त किया जा सकता है: उदाहरण के लिए, सफ़ेद रंग को <code>#FFFFFF</code> द्वारा प्रदर्शित किया जाता है। <ref>{{cite web
| url = http://www.web-colors-explained.com/hex.php
| title = Hexadecimal web colors explained
}}</ref> सीएसएस (CSS), प्रत्येक घटक के लिए एक हेक्स अंक के साथ 3 हेक्स अंक वाले संक्षिप रूपों की अनुमति प्रदान करता है: #FA3, #FFAA33 (एक सुनहरा नारंगी रंग) का संक्षिप्त रूप है।
* *nix (यूनिक्स और उससे संबंधित) शेलों और इसी तरह [[सी (प्रोग्रामिंग भाषा)|सी प्रोग्रामिंग भाषा]], जिसे यूनिक्स (Unix) (और सी वाक्यात्मक अवरोहियों<ref>C के कुछ सिंटैकटिक डिसेंडेंट्स है C[[सी++|++]], C#, [[जावा (प्रोग्रामिंग भाषा)|जावा]], [[जावास्क्रिप्ट]] और विन्डोज़ पॉवरशेल</ref>) के लिए डिजाइन किया गया था, में हेक्स में प्रदर्शित संख्यात्मक स्थिरांकों के लिए <code>0x</code> उपसर्ग का इस्तेमाल होता है: <code>0x5A3</code>. कैरेक्टर और स्ट्रिंग स्थिरांक, हेक्साडेसिमल अंक प्रणाली में कैरेक्टर कोड को <code>\x</code> उपसर्ग के साथ व्यक्त कर सकते हैं जिसके बाद दो हेक्स अंक होते हैं: <code>'\x1B'</code>, Esc नियंत्रण कैरेक्टर को प्रदर्शित करता है; <code>"\x1B[0m\x1B[25;1H"</code> एक स्ट्रिंग है जिसमें 11 कैरेक्टर (और साथ में स्ट्रिंग के अंत को चिह्नित करने के लिए एक अनुगामी एनयूएल (NUL)) होते हैं जिसके साथ दो अंत:स्थापित कैरेक्टर होते हैं। <ref>द स्ट्रिंग <code>"\x1B[0m\x1B[25;1H"</code> चरित्र का चित्रण करता है <tt>Esc [ 0 m Esc [ 2 5 ; 1 H Nul</tt>. ये एस्केप सिकुएंसेस है जो एएनएसआई (ANSI) टर्मिनल में प्रियोग होती है, यह कैरेक्टर सेट और कलर को रिसेट करके कर्सर को 25 वीं लाइन में ले जाती है.</ref> printf फंक्शन फैमिली के साथ हेक्साडेसिमल के रूप में एक पूर्णांक प्राप्त करने के लिए फॉर्मेट रूपांतरण कोड <code>%X</code> या <code>%x</code> का इस्तेमाल किया जाता है।
* [[यूनिकोड]] मानक में, कैरेक्टर के एक मान को <code>U+ के साथ <code>प्रदर्शित किया जाता है जिसके बाद हेक्स मान होता है: <code>U+20AC</code>, यूरो चिह्न (€) है.</code></code>
* <code><code> एमआईएमई (MIME) (ई-मेल एक्सटेंशन) उद्धृत-मुद्रणयोग्य कूटलेखन में, जिन कैरेक्टरों को लिटरल एस्की (ASCII) कैरेक्टरों के रूप में प्रदर्शित नहीं किया जा सकता है, उन कैरेक्टरों को उनके कोड के माध्यम से दो हेक्साडेसिमल डिजिट (एस्की में) के रूप में प्रदर्शित किया जाता है जिसके साथ उपसर्ग के रूप में एक ''इक्वल टु'' साइन ''='' लगा होता है जैसा कि "España" (स्पेन) को सेंड करने के लिए <code>Espa=F1a</code> में होता है. </code></code><code><code>(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.)</code></code>
पंक्ति 26:
* <code><code> पोस्टस्क्रिप्ट, <code>16#</code> उपसर्ग वाले हेक्स को सूचित करता है: <code>16#5A3</code>. </code></code><code><code>बाइनरी डेटा (जैसे - इमेज पिक्सेल) को बिना उपसर्ग वाले क्रमागत हेक्साडेसिमल युग्म के रूप में व्यक्त किया जा सकता है: <code>AA213FD51B3801043FBC</code>...</code></code>
* <code><code> 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.</code></code>
* <code><code> कॉमन लिस्प (Common Lisp)
में उपसर्ग के रूप में <code>#x</code> और <code>#16r</code> का इस्तेमाल होता है.</code></code>
* <code><code> क्विकबेसिक (QuickBASIC), फ्रीबेसिक (FreeBASIC) और विजुअल बेसिक (Visual Basic) में हेक्साडेसिमल संख्याओं के साथ उपसर्ग के रूप में <code>&amp;H</code> का इस्तेमाल होता है: <code>&amp;H5A3</code></code></code>
पंक्ति 35:
* <code><code> किसी भी आईपीवी6 (IPv6) एड्रेस को चार हेक्साडेसिमल अंकों के आठ सम्हूं के रूप में लिखा जा सकता है जहां प्रत्येक समूह को एक अर्धविराम (<code>:</code>) के माध्यम से अलग किया जाता है. </code></code><code><code>This, for example, is a valid IPv6 address: 2001:0db8:85a3:0000:0000:8a2e:0370:7334</code></code><code><code></code></code>
 
[[चित्र:Bruce Martin hexadecimal notation proposal.png|thumbअंगूठाकार|ब्रूस ए. मार्टिन का हेक्साडेसिमल नोटेशन प्रस्ताव]]
अक्षर अंकों के लिए लोअरकेस या अपरकेस का इस्तेमाल करने की कोई सार्वभौमिक परंपरा नहीं है और समुदाय के मानकों या परंपरा के माध्यम से विशेष परिवेशों में प्रत्येक का प्रचलन है या प्रत्येक को प्राथमिकता दी जाती है।
 
कंप्यूटरों के आरंभिक इतिहास में नौ से ऊपर के अंकों को प्रदर्शित करने के लिए ''A'' से लेकर ''F'' तक के अक्षरों का विकल्प सार्वभौमिक नहीं था। 1950 के दशक के दौरान, 10 से 15 तक के मानों को सूचित करने के लिए एक मैक्रोन कैरेक्टर ("¯") के साथ 0 से लेकर 5 तक के अंकों का इस्तेमाल करने पर कुछ प्रतिष्ठापन कार्य अनुकूल साबित हुए. बेंडिक्स जी-15 कंप्यूटर उपयोगकर्ता ''U'' से लेकर ''Z'' तक के अक्षरों का उपयोग करते थे। ब्रुकहैवेन नैशनल लैबोरेटरी के ब्रूस ए. मार्टिन A से F के इस्तेमाल के विकल्प को "हास्यास्पद" मानते थे और सीएसीएम (CACM) के सम्पादक को 1968 में लिखे गए एक पत्र में उन्होंने बिट लोकेशनों पर आधारित प्रतीकों के एक सम्पूर्ण नए समूह के इस्तेमाल का प्रस्ताव दिया जिसे पर्याप्त रूप से स्वीकार नहीं किया गया। <ref>लेटर्स टू द एडिटर: ऑन बायनरी नोटेशन, ब्रूस ए. मार्टिन, एसोसिएटेड
विश्वविद्यालयों इंक., एसीएम (ACM) पर संचार, खंड 11, अंक 10 (अक्टूबर 1968) पृष्ठ: 658</ref>
 
== वर्बल और डिजिटल प्रदर्शन ==
दस से पंद्रह तक की मात्राओं को प्रदर्शित करने के लिए कोई पारंपरिक अंक उपलब्ध नहीं है—इनकी जगह अक्षरों का इस्तेमाल किया जाता है—और अधिकांश पश्चिमी यूरोपीय भाषाओं में दस से ऊपर के अंकों के लिए गैर-दशमलव नामों का अभाव है। अंग्रेजी में कई गैर-दशमलव घातों (प्रथम बाइनरी घात के लिए ''जोड़ा'', प्रथम वाइजेसिमल घात के लिए ''स्कोर'', प्रथम तीन द्विदशमलव घातों के लिए ''दर्जन'', ''ग्रॉस'' (12 दर्जन) और ''ग्रेट ग्रॉस'' (144 दर्जन) के लिए नामों की सुलभता के बावजूद कोई भी अंग्रेजी नाम हेक्साडेसिमल घातों (दशमलव 16, 256, 4096, 65536, ...) का वर्णन नहीं करता है। &nbsp; कुछ लोग हेक्साडेसिमल संख्याओं के एक-एक अंक को एक फोन नंबर की तरह पढ़ते हैं: ''4DA'' को "फोर-डी-ए" पढ़ते हैं। हालांकि, ''A (ए)'' अक्षर "एट" (आठ) की तरह लगता है, ''C (सी)'' "थ्री" (तीन) की तरह लगता है और ''D (डी)'' बड़ी आसानी से "-ty" (टी) प्रत्यय की तरह लग सकता है: क्या यह ''4D (4डी)'' है या ''forty (फोर्टी)'' ? अन्य लोग नाटो (NATO) फोनेटिक अल्फाबेट
का इस्तेमाल करके भ्रमित होने से बच जाते हैं: ''4DA'' "फोर-डेल्टा-अल्फ़ा" है; या ज्वाइंट आर्मी/नेवी फोनेटिक अल्फाबेट ("फोर-डॉग-एबल"); या इसी तरह की एक तदर्थ प्रणाली.
 
[[चित्र:Hexadecimal-counting.jpg|rightदाएँ|thumbअंगूठाकार|हेक्साडेसिमल उंगली-गणना प्रणाली है.]]
बाइनरी और हेक्साडेसिमल दोनों के लिए अंकों की गिनती करने की प्रणालियों की योजना बनाई गई है।
आर्थर सी. क्लार्क ने दस अंगुलियों पर शून्य से लेकर 1023 तक गिनती करने के लिए अंगुली का इस्तेमाल करने की सुविधा प्रदान करके एक ऑन/ऑफ़ बिट के रूप में प्रत्येक अंगुली का इस्तेमाल करने का सुझाव दिया। FF (255) तक की गिनती करने के लिए इस्तेमाल होने वाली एक अन्य प्रणाली को दायीं तरफ दर्शाया गया है; यह बारह के गुणांकों (दर्जनों और ग्रॉस) में गिनती करने एक मौजूदा प्रणाली का एक विस्तृत रूप लगता है जिसका इस्तेमाल आम तौर पर दक्षिण एशिया और अन्य जगहों में किया जाता है।
 
पंक्ति 55:
 
== बाइनरी रूपांतरण ==
अधिकांश कंप्यूटर बाइनरी डेटा में फेर-बदल करते हैं, लेकिन एक अपेक्षाकृत छोटी बाइनरी (द्विआधारी) संख्या
के लिए भी अनगिनत अंकों के साथ काम करना इंसानों के लिए मुश्किल है। यद्यपि अधिकांश इन्सान आधारांक <sub>10</sub> सिस्टम से परिचित है, लेकिन फिर भी दशमलव की तुलना में हेक्साडेसिमल में बाइनरी का नक्षा बनाना काफी आसान है।
इस उदाहरण 1111<sub>2</sub> को आधारांक दस में रूपांतरित कर देता है। चूंकि एक बाइनरी संख्या के प्रत्येक स्थान में 1 या 0 हो सकता है, इसलिए इसके मान को दायीं तरफ से इसकी स्थिति द्वारा बड़ी आसानी से निर्धारित किया जा सकता है:
* 0001<sub>2</sub> = 1<sub>10</sub>
पंक्ति 75:
आश्चर्यजनक रूप से कम अभ्यास के साथ, एक चरण में 1111<sub>2</sub> को F<sub>16</sub> में मैप करना आसान हो जाता है: हेक्साडेसिमल के प्रदर्शन की तालिका को देखें. दशमलव के बजाय हेक्साडेसिमल के इस्तेमाल से होने वाले लाभ की वजह से संख्या के आकार में तेज़ी से वृद्धि हो जाती है। जब संख्या बहुत बड़ी हो जाती है, तो इसे दशमलव में रूपांतरित करना बहुत कठिन हो जाता है। हालांकि, हेक्साडेसिमल की मैपिंग करने पर बाइनरी स्ट्रिंग को 4 अंकों वाले समूहों के रूप में मान्यता देना और प्रत्येक को एक एकल हेक्साडेसिमल अंक में मैप करना नगण्य हो जाता है।
 
यह उदाहरण दशमलव में एक बाइनरी संख्या के रूपांतरण को दिखाता है, प्रत्येक अंक को दशमलव मान में मैप करता है और परिणामों को जोड़ता है।
<table><td>
<td>01011110101101010010<sub>2</sub></td><td>
पंक्ति 130:
निम्नलिखित, स्ट्रिंग प्रदर्शन में किसी भी संख्या को एक हेक्साडेसिमल में रूपांतरित करने के लिए उपरोक्त एल्गोरिथ्म का एक [[जावास्क्रिप्ट|जावास्क्रिप्ट (JavaScript)]] कार्यान्वयन है। इसका उद्देश्य उपरोक्त एल्गोरिथ्म का वर्णन करना है। तथापि, डेटा के साथ गंभीरतापूर्वक काम करने के लिए काफी हद तक बिटवाइज़ ऑपरेटरों के साथ काम करने की सलाह दी जा सकती है।
 
<sourcesyntaxhighlight lang="javascript">
function toHex(d) {
var r = d % 16;
पंक्ति 145:
return alpha.charAt(n);
}
</syntaxhighlight>
</source>
 
=== जोड़ और गुणा ===
[[चित्र:Hexadecimal multiplication table.svg|rightदाएँ|thumbअंगूठाकार|एक हेक्साडेसिमल गुणन तालिका]]
स्रोत आधारांक में प्रत्येक स्थान को इसके स्थान मान का हेक्साडेसिमल प्रदर्शन प्रदान करके और उसके बाद अंतिम प्रदर्शन प्राप्त करने के लिए जोड़ और गुणा करके भी रूपांतरण कार्य किया जा सकता है।
अर्थात् B3AD संख्या को दशमलव संख्या में रूपांतरित करने के लिए कोई भी इस रूपांतरण को D (13<sub>10</sub>), A (10<sub>10</sub>), 3 (3<sub>10</sub>) और B (11<sub>10</sub>) में विभाजित कर सकता है और उसके
बाद प्रत्येक दशमलव प्रदर्शन को 16<sup>p</sup> से गुणा करके अंतिम परिणाम प्राप्त कर सकता है, जहां 'p' दाएं से बाएं अनुकूल स्थिति है जो 0 से शुरू होता है। इस स्थिति में हमें 13*(16<sup>0</sup>) + 10*(16<sup>1</sup>) + 3*(16<sup>2</sup>) + 11*(16<sup>3</sup>) प्राप्त होता है जो दशमलव प्रणाली में 45997 के बराबर है।
 
पंक्ति 525:
 
=== घात ===
शायद सबसे व्यापक रूप से इस्तेमाल किए जाने वाले घात, दो के घात, आधारांक 16 का इस्तेमाल करके दिखाना ज्यादा आसान होता है। दो के पहले सोलह घातों को नीचे दिखाया गया है।
{| class="wikitable"
! 2<sup>''x'' </sup>
पंक्ति 624:
=== आम पद्धतियां और हास्य ===
{{details|Hexspeak}}
हेक्साडेसिमल का इस्तेमाल कभी-कभी प्रोग्रामर जोक में किया जाता है क्योंकि कुछ शब्दों का निर्माण केवल हेक्साडेसिमल अंकों का इस्तेमाल करके ही किया जा सकता है। इनमें से कुछ शब्द "डेड", "बीफ", "बेब" और उपयुक्त प्रतिस्थापन के साथ "कॉफी" हैं। चूंकि इन्हें प्रोग्रामर तुरंत पहचान सकते हैं, इसलिए डिबगिंग सेटअप कभी-कभी प्रोग्रामरों के लिए मेमोरी को चालू करते हैं ताकि प्रोग्रामरों को यह देखने में मदद मिल सके कि कब कोई काम चालू नहीं हुआ है।
कुछ लोग संख्या के बाद एक H लगाते हैं यदि वे यह दिखाना चाहते हो कि इसे हेक्साडेसिमल में लिखा गया है। पुराने इंटेल असेम्बली सिंटेक्स में, ऐसा कभी-कभी होगा है।
 
पंक्ति 650:
 
दर्जन के समर्थन की तरह,
हेक्साडेसिमल को वरीयताप्राप्त अंक प्रणाली के रूप में प्रोत्साहित करने के लिए सामयिक प्रयास किए गए हैं। ये प्रयास आमतौर पर
उच्चारण और/या प्रतीकविद्या को प्रस्तावित करते हैं। <ref>{{cite web
| url = http://www.hauptmech.com/base42
पंक्ति 666:
 
== संख्या आधारांक अंकन का मूल ==
आर्टिकल में इस्तेमाल किए जाने वाले अंकनों का सरल मूल
{| class="wikitable" style="font-size:90%"
|-