दशमलव से अष्टाधारी: फ़ाइल अनुमतियों के पीछे छिपा आधार
यह रूपांतरण क्या करता है
यह दशमलव संख्या को आधार 8 में लिखता है, अंक 0 से 7 का इस्तेमाल करके। अष्टाधारी अब कुछ गिने-चुने कोनों में बची है, पर उनमें एक बहुत व्यस्त है: यूनिक्स फ़ाइल अनुमतियाँ, जहाँ 755 या 644 जैसा मास्क अष्टाधारी होता है और तीन अलग अंकों के रूप में पढ़ा जाता है, एक संख्या के रूप में नहीं।
हर अंक तीन बिट, और यही पूरी बात है
एक अष्टाधारी अंक ठीक तीन द्विआधारी अंक समेटता है, इसलिए नौ बिट का अनुमति फ़ील्ड सफ़ाई से तीन समूहों में बँट जाता है: मालिक, समूह और बाकी सब। हर समूह पढ़ने के लिए 4, लिखने के लिए 2 और चलाने के लिए 1 से बनता है, इसलिए 7 का मतलब तीनों और 5 का मतलब पढ़ना जमा चलाना।
दशमलव से अष्टाधारी रूपांतरण तालिका
सबसे ज़्यादा मिलने वाले फ़ाइल मोड और छोटे मास्क के पीछे के दशमलव मान। अनुमति वाली पंक्तियाँ नज़र से याद कर लेने लायक हैं, क्योंकि chmod अष्टाधारी रूप लेता है और रिपोर्टें दशमलव रूप दिखाती हैं।
| दशमलव | अष्टाधारी |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 7 | 7 |
| 8 | 10 |
| 10 | 12 |
| 15 | 17 |
| 16 | 20 |
| 31 | 37 |
| 64 | 100 |
| 100 | 144 |
| 127 | 177 |
| 200 | 310 |
| 255 | 377 |
| 1000 | 1750 |
अष्टाधारी कहाँ से आई और कहाँ टिकी
अष्टाधारी उन मशीनों के लिए स्वाभाविक थी जिनके शब्द आकार तीन बिट के गुणज थे, और PDP-8 जैसे शुरुआती मिनीकंप्यूटर इसी ढंग से बने थे। जब आठ बिट के बाइट और सोलह बिट के शब्द मानक बने, तो षोडशआधारी आगे निकल गई क्योंकि चार आठ को बाँटता है और तीन नहीं। फ़ाइल अनुमतियाँ मुख्य बची हुई मिसाल हैं, जिन्हें दशकों की आदत और तीन अनुमति बिट का तीन में ठीक बँटना ज़िंदा रखे हुए है।
अनुमति का एक अंक पढ़ना
मोड के हर अष्टाधारी अंक को छोटा जोड़ मानें: 4 पढ़ना, 2 लिखना और 1 चलाना, जिन्हें जोड़कर आपका अंक बनता है। इसलिए 755 मालिक के लिए पढ़ना-लिखना-चलाना है, फिर समूह और बाकी सब के लिए पढ़ना-चलाना, और 644 मालिक के लिए पढ़ना-लिखना तथा बाकी सबके लिए सिर्फ़ पढ़ना।
अक्सर पूछे जाने वाले सवाल
दशमलव संख्या को हाथ से अष्टाधारी में कैसे बदलें?
आठ से भाग दें और शेषफल लिखें, फिर भागफल के साथ यही क्रम तब तक दोहराएँ जब तक वह शून्य न हो जाए, और शेषफल आख़िर से पहले की ओर पढ़ें। 493 पर: 493 ÷ 8 = 61 शेष 5, 61 ÷ 8 = 7 शेष 5, और 7 ÷ 8 = 0 शेष 7, यानी जवाब 755।
फ़ाइल अनुमतियाँ अष्टाधारी में क्यों लिखी जाती हैं?
क्योंकि हर वर्ग के उपयोगकर्ता के तीन अनुमति बिट ठीक एक अष्टाधारी अंक में बँटते हैं, इसलिए पूरा मोड नौ बिट के बजाय तीन छोटे अंकों में पढ़ा जाता है। 755 का मतलब पढ़ना-लिखना-चलाना, फिर पढ़ना-चलाना, फिर पढ़ना-चलाना — ऐसा फ़ॉर्मैट जिसे बिना किसी हिसाब के खोला जा सकता है।
chmod 755 असल में क्या देता है?
मालिक पढ़, लिख और चला सकता है; समूह के सदस्य और बाकी सब पढ़ और चला सकते हैं पर बदल नहीं सकते। दशमलव में यह 493 बनता है। डायरेक्टरी में यही तीन बिट चलाने के लिए अलग अर्थ रखते हैं, इसीलिए डायरेक्टरी में अंदर जाने के लिए वह बिट आमतौर पर ज़रूरी होता है।
क्या अष्टाधारी आज किसी और काम आती है?
कभी-कभी। कुछ भाषाएँ आगे शून्य लगाकर अष्टाधारी लिटरल लिखने देती हैं, और कुछ फ़ाइल फ़ॉर्मैट तथा नेटवर्क मास्क इसे इस्तेमाल करते हैं। इनके बाहर षोडशआधारी ने उसकी जगह ले ली है, क्योंकि एक बाइट दो हेक्स अंकों में सफ़ाई से बँटती है और तीन आठ को बाँटता ही नहीं।
क्या यह ऋणात्मक मान और अपूर्णांक संभालता है?
दोनों हाँ। ऋणात्मक संख्या अपना चिह्न अष्टाधारी अंकों के आगे रखती है, जो दो के पूरक के बजाय चिह्न-और-परिमाण रूप है। अपूर्णांक एक-एक अंक करके बदलते हैं, और अगर विस्तार पूरा नहीं होता तो नतीजा बिना टिप्पणी गोल करने के बजाय काटा हुआ बताया जाता है।