टूल
गाइड

आधार / रेडिक्स रूपांतरक

रूपांतरण

BigInt के साथ 2–62 आधार के बीच पूर्णांक रूपांतरित करें, ताकि बहुत बड़ी संख्याओं की पूर्ण सटीकता बनी रहे।

100% क्लाइंट-साइड कोई बैकएंड नहीं
→
आउटपुट
दशमलव
इस पृष्ठ पर

आधार / रेडिक्स परिवर्तक क्या है?#

हर पूर्णांक एक ही संख्या है; केवल उसकी वर्तनी आधार के साथ बदलती है। दशमलव में 255, हेक्साडेसिमल में ff, बाइनरी में 11111111, और अष्टक में 377 — ये एक ही मात्रा के लिए चार स्ट्रिंग हैं। रेडिक्स परिवर्तक एक वर्तनी को दूसरी में अनुवाद करता है — और इसके parseInt के बजाय एक वास्तविक टूल होने का कारण यह है कि JavaScript का Number 2^53 (लगभग 16 दशमलव अंक) के बाद चुपचाप परिशुद्धता खो देता है, इसलिए 18446744073709551616 जैसे 64-बिट पहचानकर्ता को सादे Number से बदलने पर आपको बिना चेतावनी के एक भिन्न संख्या वापस मिलती है।

यह पेज BigInt-आधारित है आर-से-आर, इसलिए कोई भी यादृच्छिक-आकार पूर्णांक हर रूपांतरण में पूर्ण परिशुद्धता बनाए रखता है। यह आधार 2 से 62 तक का समर्थन करता है, canonical अंक वर्णमाला 0-9, फिर a-z, फिर A-Z का उपयोग करके। सुविधा के लिए, आधार 2 से 36 केस-असंवेदनशील हैं (आप हेक्स 255 के लिए FF टाइप कर सकते हैं), जबकि आधार 37 से 62 केस-संवेदनशील हैं — क्योंकि आधार 62 में लोअरकेस a और अपरकेस A दो वास्तव में भिन्न अंक हैं (10 और 36)।

इसका उपयोग कैसे करें#

  1. वह मान टाइप करें जिसे आप रूपांतरित करना चाहते हैं। पेज 255 पर आरंभ होता है।
  2. इस आधार से को उस आधार पर सेट करें जिसमें आपका मान वर्तमान में लिखा है (ड्रॉपडाउन 2 से 62 देते हैं; डिफ़ॉल्ट 10, दशमलव)।
  3. इस आधार में को वांछित आधार पर सेट करें (डिफ़ॉल्ट 16, हेक्साडेसिमल)। इनके बीच का तीर केवल एक दृश्य संकेत है।
  4. आउटपुट बॉक्स रूपांतरित वर्तनी लाइव दिखाता है, और नीचे की दशमलव पंक्ति उसी मान को आधार 10 में दिखाती है — दो अपरिचित आधारों के बीच रूपांतरण करते समय एक आसान जाँच।
  5. नमूना डिफ़ॉल्ट पुनः लोड करता है, साफ़ करें फ़ील्ड खाली करता है। चुने गए आधार के लिए कोई अमान्य अंक स्थिति पंक्ति में रिपोर्ट किया जाता है (आधार 8 में 8 टाइप करना, या आधार 16 में g, चुपचाप बकवास पैदा नहीं करेगा)।

मुख्य विशेषताएँ#

  • BigInt परिशुद्धता। रूपांतरण यादृच्छिक-परिशुद्धता पूर्णांकों पर चलता है, इसलिए 2^64 और उससे बड़े सटीक रूप से राउंड-ट्रिप होते हैं। न तो कोई 2^53 चट्टान है और न ही फ़्लोटिंग-पॉइंट सन्निकटन।
  • आधार 2 से 62 तक। बाइनरी, अष्टक, दशमलव, हेक्स, base32, base36, base58-शैली वर्णमाला, और पूर्ण base62 कवर करता है — वह श्रेणी जो वास्तविक सिस्टम वास्तव में उपयोग करते हैं।
  • केस-जागरूक पार्सिंग। आधार 2–36 सुविधा के लिए कोई भी केस स्वीकार करते हैं; आधार 37–62 केस को महत्वपूर्ण मानते हैं ताकि a और A अलग अंक बने रहें, canonical 62-प्रतीक वर्णमाला से मेल खाते हुए।
  • अंक-समूह अंडरस्कोर सहन। आप 1_000 चिपका सकते हैं और यह 1000 पढ़ा जाएगा — वही परिपाटी जो कई प्रोग्रामिंग भाषाएँ पठनीयता के लिए उपयोग करती हैं।
  • चिह्न-जागरूक। ऋणात्मक मान सही रूपांतरित होते हैं; माइनस चिह्न हर आधार में संरक्षित रहता है।

विस्तृत उदाहरण#

डिफ़ॉल्ट 255, इस आधार से 10, इस आधार में 16 के साथ, पैनल दिखाता है:

Output:   ff
Decimal:  255

इस आधार में को 2 पर स्विच करें और आपको 11111111 मिलता है — आठ बिट, वह मान जो ठीक एक बाइट में फिट होता है, जो कि ff को रंग कोड और बाइट डंप में इतना परिचित बनाता है।

BigInt का वास्तविक कारण 64-बिट मान के साथ सामने आता है। 18446744073709551616 (जो 2^64 है) टाइप करें, इस आधार से 10, इस आधार में 16:

Output:   10000000000000000
Decimal:  18446744073709551616

यह 1 के बाद सोलह शून्य है — ठीक 2^64 हेक्स में। JavaScript Number पर बना परिवर्तक इनपुट को 18446744073709552000 में पहले ही राउंड कर देता, और आपको पता ही न होता। इसे वापस इस आधार से 16 / इस आधार में 10 पर राउंड-ट्रिप करें और मूल दशमलव अपरिवर्तित लौटता है, जो वह परीक्षण है जो सिद्ध करता है कि कोई परिशुद्धता नहीं खोई।

अक्सर पूछे जाने वाले प्रश्न#

FF हेक्स के लिए काम करता है किंतु आधार 62 के लिए क्यों नहीं?#

आधार 2 से 36 एक ही अक्षर श्रेणी (a–z, 10–35 पर मैप) साझा करते हैं, इसलिए केस महत्व नहीं रखता और FF = ff = 255। आधार 37 से ऊपर वर्णमाला को 26 से अधिक अक्षर चाहिए, इसलिए यह अपरकेस में फैलती है: a=10, b=11 … z=35, A=36, B=37 … Z=61। एक बार दोनों केस उपयोग में आने पर, a और A भिन्न अंक हैं, इसलिए पार्सर को केस संरक्षित रखना चाहिए।

यदि मैं आधार के लिए अमान्य अंक टाइप करूँ तो क्या होगा?#

आपको एक स्पष्ट त्रुटि मिलती है, गलत उत्तर नहीं। इस आधार से 8 (अष्टक) पर 8 या 9, या इस आधार से 16 (हेक्स) पर g अस्वीकृत होता है क्योंकि वे अक्षर उस आधार में वैध अंक नहीं हैं। स्थिति पंक्ति आपको दोषी अक्षर बताती है।

जब मैं दूसरे आधार में रूपांतरित कर रहा हूँ तो टूल दशमलव पंक्ति क्यों दिखाता है?#

क्योंकि दशमलव वह आधार है जिसमें मनुष्य सोचते हैं, इसलिए यह प्राकृतिक जाँच है। यदि आप base-58 के q को base-16 में रूपांतरित करते हैं और 1a देखते हैं, तो दशमलव पंक्ति (26) आपको बिना स्वयं अंकगणित किए पुष्टि करने देती है कि “हाँ, 58वाँ-इश प्रतीक वास्तव में छब्बीस ही अर्थ रखता था”।

क्या यह 3.14 जैसी भिन्नात्मक संख्याओं को संभालता है?#

नहीं — यह परिवर्तक केवल पूर्णांकों पर काम करता है। भिन्नात्मक भाग का रेडिक्स रूपांतरण एक भिन्न समस्या है (यह अधिकांश आधारों में अनंत पुनरावृत्त विस्तार उत्पन्न करता है, जैसे दशमलव में 1/3 करता है), और इसे चुपचाप काटना भ्रामक होगा। किसी भी आकार के पूर्णांक मानों के लिए, रूपांतरण सटीक और तत्काल है।