बाइनरी, ऑक्टल, दशमलव और हेक्साडेसिमल में एक ही मान को फिर से लिखना
एक संख्या आधार (या “रेडिक्स”) यह है कि अगले स्थान मूल्य पर आगे बढ़ने से पहले एक अंक प्रणाली कितने अलग-अलग अंकों का उपयोग करती है — दशमलव 10 का उपयोग करता है (0–9), बाइनरी 2 का उपयोग करता है (0–1), ऑक्टल 8 का उपयोग करता है (0–7), और हेक्साडेसिमल 16 का उपयोग करता है (0–9 फिर A–F)। इन चार आधारों में से किसी में भी एक पूर्ण संख्या दर्ज करें, और यह कैलकुलेटर एक साथ सभी चार में लिखा गया समान मान दिखाता है।
बाइनरी वह है जिस तरह कंप्यूटर आंतरिक रूप से हर मान का प्रतिनिधित्व करते हैं (हर अंक एक “बिट” है); हेक्साडेसिमल प्रोग्रामिंग में बाइनरी के लिए एक सामान्य संक्षिप्त रूप है (हर हेक्स अंक बिल्कुल 4 बाइनरी अंकों के लिए खड़ा होता है, इसलिए इसे पढ़ना और टाइप करना कहीं अधिक संक्षिप्त होता है); ऑक्टल पुरानी Unix फ़ाइल अनुमतियों और कुछ निम्न-स्तरीय संदर्भों में दिखाई देता है। दशमलव बस रोज़मर्रा की आधार-10 प्रणाली है।
सूत्र
हर स्थितीय अंक प्रणाली एक ही तरह से काम करती है: हर अंक को उसकी स्थान-मूल्य घात तक उठाए गए आधार से गुणा किया जाता है, फिर योग किया जाता है:
जहाँ स्थिति पर अंक है (सबसे दाईं ओर के अंक से 0 से गिनते हुए)। एक अलग आधार में बदलना दशमलव मान को बार-बार नए आधार से विभाजित करता है, हर शेषफल को रिकॉर्ड करते हुए — ऊपर दिए गए योग का उल्टा।
हल किया गया उदाहरण
बाइनरी 11111111 को उसके अन्य तीन आधारों में बदलना:
- दाएँ से बाएँ पढ़ें, हर
1अपना स्थान मूल्य योगदान देता है: . - दशमलव: 255।
- ऑक्टल: 255 को बार-बार 8 से विभाजित करना (255 ÷ 8 = 31 शेषफल 7, 31 ÷ 8 = 3 शेषफल 7, 3 ÷ 8 = 0 शेषफल 3) शेषफलों को नीचे-से-ऊपर पढ़ने पर 377 मिलता है।
- हेक्साडेसिमल: 255 ÷ 16 = 15 शेषफल 15, 15 ÷ 16 = 0 शेषफल 15 — दोनों शेषफल 15 हैं (हेक्स में F), जो FF देता है।
ध्यान रखने योग्य मुख्य बातें
- एक अकेला बाइट (8 बिट) ठीक 256 अलग-अलग मान दर्शा सकता है — दशमलव में 0 से 255 तक, या हेक्साडेसिमल में 00 से FF तक। यही ठीक कारण है कि कंप्यूटिंग में 255/FF इतना सामान्य संदर्भ मान है — यह अधिकतम मान है जो एक बाइट रख सकता है, जो RGB कलर चैनलों (प्रति चैनल 0-255) से लेकर नेटवर्किंग और फ़ाइल फॉर्मेट तक हर जगह दिखाई देता है।
- ऑक्टल ऐतिहासिक रूप से आज की तुलना में अधिक आम था, काफी हद तक पुराने कंप्यूटर वर्ड आकारों के कारण। ऑक्टल (आधार 8) 3 बाइनरी अंकों के समूहों पर साफ तरीके से मैप करता है, जो 3 बिट से विभाज्य वर्ड आकारों के आसपास बने कंप्यूटरों के लिए उपयुक्त था — आधुनिक कंप्यूटिंग काफी हद तक हेक्साडेसिमल (जो 4 बिट के समूहों पर मैप करता है) की ओर स्थानांतरित हो गई है क्योंकि अधिकांश आधुनिक हार्डवेयर 4 और 8 से विभाज्य वर्ड आकारों का उपयोग करता है, हालांकि ऑक्टल अभी भी Unix फ़ाइल अनुमति नोटेशन (जैसे chmod 755) जैसे विशिष्ट संदर्भों में दिखाई देता है।
- एक सामान्य प्रोग्रामर की गलती केवल संदर्भ से एक संख्या के आधार को भ्रमित करना है। अंक “10” आधार के आधार पर बहुत अलग मान दर्शाते हैं — दशमलव में 10, बाइनरी में 2, ऑक्टल में 8, हेक्साडेसिमल में 16 — यही कारण है कि प्रोग्रामिंग भाषाओं को आमतौर पर किस आधार का इरादा है इसके बारे में किसी भी अस्पष्टता को दूर करने के लिए एक स्पष्ट प्रीफिक्स (जैसे हेक्स के लिए 0x या बाइनरी के लिए 0b) की आवश्यकता होती है।
- कोई भी पूर्ण संख्या सैद्धांतिक रूप से किसी भी आधार में दर्शाई जा सकती है, केवल इन चार में नहीं। बाइनरी, ऑक्टल, दशमलव, और हेक्साडेसिमल केवल कंप्यूटिंग और रोज़मर्रा के गणित में सबसे सामान्य वास्तविक-दुनिया उपयोग वाले चार आधार हैं — यह कैलकुलेटर जिस समान स्थितीय-नोटेशन सिद्धांत का उपयोग करता है वह किसी भी आधार तक विस्तारित होता है, जैसे आधार 3, आधार 20, या आधार 60 (समय और कोणों को पारंपरिक रूप से विभाजित करने का आधार)।
सामान्य गलतियां
- बिना प्रीफिक्स वाली मिश्रित-आधार संख्या को डिफ़ॉल्ट रूप से दशमलव मान लेना। “10” का मतलब दशमलव में दस है लेकिन बाइनरी में केवल दो — किसी संख्या पर गणना करने से पहले हमेशा जांच लें (या बताएं) कि वह किस आधार में लिखी गई है।
- यह मान लेना कि आगे के शून्य मान बदल देते हैं। ठीक दशमलव की तरह, बाइनरी में
0011वही मान है जो11है — आगे के शून्य केवल निश्चित-चौड़ाई फॉर्मेटिंग (जैसे पूरा बाइट दिखाना) के लिए मायने रखते हैं, संख्या के वास्तविक मान के लिए नहीं। - यह भूल जाना कि 9 से ऊपर के हेक्स अंक अक्षरों का उपयोग करते हैं, दो-अंकीय संख्याओं का नहीं।
हेक्साडेसिमल दस को
Aलिखा जाता है,10नहीं — हेक्स में10लिखने का वास्तव में मतलब है दशमलव में सोलह, जो बड़ी त्रुटियों का एक सामान्य स्रोत है। - किसी नकारात्मक संख्या को सीधे बदलने की कोशिश करना। जैसा कि ऊपर दिए गए सामान्य प्रश्नों में बताया गया है, नकारात्मक बाइनरी/हेक्स मान एक चुनी गई बिट-चौड़ाई और टू’ज़-कॉम्प्लीमेंट परंपरा पर निर्भर करते हैं — गैर-नकारात्मक पूर्ण संख्याओं की तरह कोई एक स्पष्ट रूपांतरण नहीं है।
जानने योग्य बातें
- क्या आप मनमानी संख्याओं के बजाय नेटवर्क पतों के साथ काम कर रहे हैं? IP सबनेट कैलकुलेटर उसी बाइनरी/दशमलव संबंध को विशेष रूप से IPv4 पतों पर लागू करता है।
- क्या आपको कॉम्पैक्ट रूप में बहुत बड़ी या बहुत छोटी दशमलव संख्याओं की आवश्यकता है? वैज्ञानिक संकेतन कैलकुलेटर इसके बजाय उस प्रकार का रूपांतरण संभालता है।
- क्या आप एक बहुत पुरानी, स्थितीय-संबंधित संख्या प्रणाली के बारे में उत्सुक हैं? रोमन अंक कैलकुलेटर रोमन अंकों में और उनसे बदलता है, जो एक पूरी तरह से अलग (गैर-स्थितीय) दृष्टिकोण का उपयोग करते हैं।