محول الأعداد الثنائية إلى ثمانية
تجميع خانات الثنائي في ثلاثيات للتحويل إلى النظام الثماني وفهم أذونات يونكس.
عند تنفيذ الأمر ls -l على أنظمة يونكس تظهر الأذونات في هيئة أرقام مثل 755. هذه الأرقام تنتمي إلى النظام الثماني، والسبب الأساسي لبقاء هذا النظام حتى اليوم يرتبط برقم واحد فقط: 3.
علاقة النظام الثماني بالتمثيل الثنائي
الرقم 8 هو 2 أس 3، مما يعني أن كل خانة ثمانية تمثل تماماً ثلاث خانات ثنائية، تماماً كما يمثل النظام الست عشري أربع خانات. عند تجميع البتات 111 101 101 في مجموعات ثلاثية وقراءة كل ثلاثية على حدة تصبح 7 ثم 5 ثم 5، وبذلك يكتمل التحويل من ثنائي إلى ثماني دون الحاجة إلى عمليات قسمة مطولة.
شهد النظام الثماني انتشاراً أوسع في الستينيات والسبعينيات من القرن الماضي عندما كانت بعض الأجهزة تعتمد أحجام كلمات تقبل القسمة على ثلاثة بتات بدلاً من أربعة. لاحقاً سيطر النظام الست عشري بعد توحيد معمارية 8 و16 و32 بت، وظل الثماني حياً في جانب رئيسي واحد: أذونات يونكس.
خطوات استخدام محول النظام الثنائي إلى ثماني
- أدخل السلسلة الثنائية المكونة من أصفار وآحاد داخل حقل الإدخال المخصص.
- انقر فوق زر التحويل لبدء المعالجة عبر الخادم وتوليد القيمة المقابلة.
- انسخ الرقم الثماني الناتج لاستخدامه مباشرة في إعدادات النظام أو مشاريعك البرمجية.
جدول قيم أذونات الملفات في النظام الثماني
| الخانة الثمانية | تمثيل 3 بت ثنائي | رمز الإذن | المعنى |
|---|---|---|---|
| 7 | 111 | rwx | read, write, execute |
| 6 | 110 | rw- | read, write |
| 5 | 101 | r-x | read, execute |
| 4 | 100 | r-- | read only |
| 0 | 000 | --- | no permission |
تفسير تصريح الملفات chmod 755 عبر النظام الثماني
تنقسم أذونات الملفات في بيئات يونكس إلى ثلاث فئات: المالك والمجموعة وبقية المستخدمين. كل فئة منها تمثلها بالضبط ثلاثة بتات للقراءة والكتابة والتنفيذ. هذه البتات الثلاثة تتطابق مع خانة ثمانية واحدة تماماً، ولهذا يمنح الأمر chmod 755 المالك صلاحية rwx بالقيمة 7، بينما يمنح كلاً من المجموعة وبقية المستخدمين الصلاحية r-x بالقيمة 5 للقراءة والتنفيذ دون كتابة.
محاولة كتابة هذه الأذونات بالنظام الست عشري تتطلب تجميع البتات في حزم رباعية لا تتسق مباشرة مع التقسيم الثلاثي للأذونات. النظام الثماني يتطابق بنيوياً مع معمارية البتات الثلاثية لكل فئة، وهو السبب الجوهري الذي منع استبداله في إدارة الصلاحيات.
أسئلة شائعة حول تحويل الثنائي إلى ثماني
لماذا تقابل كل خانة ثمانية ثلاث خانات ثنائية؟
لأن العدد 8 يساوي 2 تكعيب، وبالتالي تكفي ثلاثة بتات لتغطية القيم الثمانية الممكنة من 0 إلى 7. عند تقسيم أي رقم ثنائي إلى مجموعات ثلاثية بدءاً من اليمين، تتحول كل مجموعة مباشرة إلى خانة ثمانية واحدة.
لماذا يستمر استخدام النظام الثماني في chmod بدلاً من العشري؟
لأن أذونات يونكس مقسمة طبيعياً إلى ثلاثة بتات لكل فئة مستخدمين: القراءة والكتابة والتنفيذ. تتطابق البتات الثلاثة مع رقم ثماني واحد، في حين لا يعكس النظام العشري هذا النمط البرمجي بدقة.
ما الدلالة الفعلية لتصريح chmod 644؟
الرقم 6 يعادل 110 ويعني القراءة والكتابة للمالك، والرقم 4 يعادل 100 ويعني القراءة فقط للمجموعة وباقي المستخدمين، وهو إعداد قياسي للملفات التي يعدلها المالك فقط.
هل يلزم إكمال الخانات بأصفار لتصبح مضاعفاً للرقم ثلاثة؟
نعم، إذا لم يكن إجمالي عدد البتات قابلاً للقسمة على ثلاثة تضاف أصفار في أقصى اليسار حتى يكتمل التقسيم. إضافة الأصفار جهة اليسار لا تغير القيمة الحسابية إطلاقاً وتسهل التجميع من اليمين.
هل يُعتمد النظام الثماني اليوم خارج إدارة الأذونات؟
نادراً ما يُستخدم، إذ قد يظهر أحياناً في بعض الأنظمة المدمجة القديمة أو كقيم عددية في لغات البرمجة العريقة، لكن أذونات الملفات تبقى الميدان الأبرز الذي يتعامل معه المطورون عملياً.