لماذا لا يمكننا تصميم "جدول تحويل عشري ثنائي" مشابه لـ "جدول سداسي عشري ثنائي" الشهير لتجنب التقسيمات المتتالية على 2؟

2 إجابات
profile/أريج-عالية-1
أريج عالية
educational consultant في freelance (٢٠١٨-حالياً)
.
١٧ أبريل ٢٠٢١
قبل ٤ سنوات
 نحن هنا سنسلط الضوء حول أسس المنطق الرقمي: أنظمة العد. قام العالم الغربي باستخدام نظام الأساس 10، بينما قام البابليون باستخدام النظام الستيني. استخدام قاعدة الأساس عشرة هي أقرب للنفس البشرية لأن البشر لديهم عشر أصابع، ولأننا لأكثر من 100000 عام، كنا وأسلافنا قد عدنا إلى عشرة. القاعدة 60 مفيدة لأن الستين مقسمة بشكل متساو على العديد من الأرقام. إلى حد ما، ما زلنا نستخدم قاعدة الستين، في قياس الوقت الذي يتضمن الثواني والدقائق والساعات!

لنسلط الضوء الآن على مزايا الأنظمة الثنائية والسداسية العشرية والثمانية:
* النظام الثنائي: تقوم أجهزة الحاسوب بالتدوين الثنائي بأدنى مستوى لها. وبالتالي رؤية نمط البت bit pattern عند التعبير عن الرقم بالنمظ الثنائي. العيب في تمثيل هذا النمط في النظام الثنائي يكون مطول. مثلًا عند كتابة عدد صحيح 32 بت سيتم كتابة 1 و 0 في كل مرة تكتب بها رقم.

* النظام السداسي العشري: أو نظام الأساس 16؛ وكأننا نتحدث عن الأس اثنان: إثنان أس أربعة. بالتالي، يمكن تمثيل كل نمط من أربع بتات بحرف سداسي عشري. أي أنك تجعل هذا النظام السداسي العشري أكثر إيجازًا من الثنائي. مثلًا: 9hex = 1001 binary
لذلك يمكنك تمثيل العدد 9991 كسداسي عشري = 1001 1001 1001 0001 بالنظام الثنائي. أي مبرمج أو خبير برمجية CS، والذي يجيد لغة النظام السداسي العشري سيتمكن من الانتقال للنظام الثنائي بسهولة كبيرة، حيث يتمكنون من ترجمة ذلك داخل رؤوسهم، لأن الأس 16 هو أس 2 وليس العكس. ومن هنا يمكن استنتاج أن المبرمجين يقومون باستخدام النظام السداسي العشري لتمثيل عدد كبير من البتات بإيجاز. حيث لدى هذا النظام القدرة على معرفة المسافة بين العناوين(عنوانين أكثر أو أقل) من كيلو بايت.

* النظام الثماني: أو ما يسمى قاعدة الثمانية. حيث يستخدم النظام الثنائي بشكل اثنان أس ثلاثة، حيث تقارب النظام السداسي العشري. يتم تمثيل كل نمط من ثلاث بتات بحرف ثماني، وبالطبع يمكن لأي شخص يجيد النظام الثماني أن يترجمه للنظام الثنائي بسهولة داخل دماغه لذلك: = 6 octal binary101
لذلك يمثل الرقم 1661 ثماني= 001 110 110 001
وليس بالضرورة استخدام النظام الثماني، فيمكن استخدامه في بعض المواقف المتخصصة كمواصفات قيم ASCII، لأن ثلاثة أحرف ثمانية أكثر من كافية لتمثيل نطاق ASCII.

عند التحويل من النظام الثنائي إلى النظام العشري أو حتى من النظام العشري إلى النظام الثنائي، يجب توخي الحذر حتى لا نخلط بين مجموعتي الأرقام. على سبيل المثال، إذا كتبنا الأرقام 10 على الصفحة، فقد يعني ذلك الرقم "عشرة" إذا افترضنا أنه رقم عشري، أو يمكن أن يكون بالتساوي "1" و "0" معًا في ثنائي، وهو يساوي الرقم اثنين في تنسيق عشري مرجح من أعلى. كما أن العيب الرئيسي الوحيد للأرقام الثنائية هو أن السلسلة الثنائية المكافئة لرقم عشري كبير على أساس 10 يمكن أن تكون طويلة جدًا.

 لذا عند العمل مع أنظمة رقمية كبيرة، مثل أجهزة الحاسوب، من الشائع العثور على أرقام ثنائية تتكون من 8 و 16 وحتى 32 رقمًا مما يجعل من الصعب القراءة أو الكتابة دون حدوث أخطاء خاصة عند العمل مع الكثير من 16 أو 32 بت الأعداد الثنائية.

إحدى الطرق الشائعة للتغلب على هذه المشكلة هي ترتيب الأعداد الثنائية في مجموعات أو مجموعات من أربع بتات (4 بتات). تستخدم هذه المجموعات المكونة من 4 بت نوعًا آخر من أنظمة الترقيم المستخدمة أيضًا بشكل شائع في أنظمة الحاسوب والأنظمة الرقمية وهي الأرقام السداسية العشرية. يستخدم نظام الترقيم "السداسي العشري" نظام Base of 16 وهو خيار شائع لتمثيل القيم الثنائية الطويلة لأن تنسيقها مضغوط تمامًا وأسهل كثيرًا في الفهم مقارنة بالسلاسل الثنائية الطويلة من 1 و 0. نظرًا لكونه نظام Base-16، فإن نظام الترقيم السداسي العشري يستخدم 16 (ستة عشر) رقمًا مختلفًا مع مجموعة من الأرقام من 0 إلى 15. وبعبارة أخرى، هناك 16 رمزًا رقميًا محتملاً.

ومع ذلك، هناك مشكلة محتملة في استخدام طريقة التدوين الرقمي هذه بسبب حقيقة أن الأرقام العشرية 10 و 11 و 12 و 13 و 14 و 15 تُكتب عادةً باستخدام رمزين متجاورين. على سبيل المثال، إذا كتبنا 10 بالنظام الست عشري، فهل نعني الرقم العشري عشرة، أم العدد الثنائي لاثنين (1 + 0)؟. للتغلب على هذه المشكلة الصعبة، الأرقام السداسية العشرية التي تحدد قيم عشرة، أحد عشر،...، يتم استبدال خمسة عشر بأحرف كبيرة من A و B و C و D و E و F على التوالي. ثم في نظام الترقيم السداسي العشري، نستخدم الأرقام من 0 إلى 9 والأحرف الكبيرة من A إلى F لتمثيل الرقم الثنائي أو العشري، بدءًا من الرقم الأقل أهمية في الجانب الأيمن.

 يمكن أن تكون السلاسل الثنائية طويلة جدًا وصعبة القراءة، ولكن يمكننا تسهيل الحياة عن طريق تقسيم هذه الأرقام الثنائية الكبيرة إلى مجموعات زوجية لتسهيل كتابتها وفهمها. على سبيل المثال، المجموعة التالية من الأرقام الثنائية 1101 0101 1100 11112 أسهل في القراءة والفهم من 11010101110011112 عندما يتم تجميعها معًا. في الاستخدام اليومي لنظام الترقيم العشري، نستخدم مجموعات من ثلاثة أرقام أو 000 من الجانب الأيمن لجعل عددًا كبيرًا جدًا مثل مليون أو تريليون، مما يسهل علينا فهمه وينطبق الشيء نفسه أيضًا على الأنظمة الرقمية.

تعد الأرقام السداسية العشرية نظامًا أكثر تعقيدًا من استخدام النظام الثنائي أو العشري فقط، وهي تُستخدم بشكل أساسي عند التعامل مع أجهزة الكمبيوتر ومواقع عناوين الذاكرة. بتقسيم رقم ثنائي إلى مجموعات من 4 بتات، يمكن أن يكون لكل مجموعة أو مجموعة من 4 أرقام قيمة محتملة بين "0000" (0) و "1111" (8 + 4 + 2 + 1 = 15) مما يعطي إجمالي 16 تركيبة أرقام مختلفة من 0 إلى 15.

أيضًا، نظرًا لأن 16 في النظام العشري هي القوة الرابعة لـ 2 (أو 24)، فهناك علاقة مباشرة بين الرقمين 2 و 16، لذا فإن رقمًا سداسيًا واحدًا له قيمة تساوي أربعة أرقام ثنائية، لذا فإن q الآن يساوي "16 ". بسبب هذه العلاقة، يمكن تمثيل أربعة أرقام في رقم ثنائي برقم سداسي عشري واحد. هذا يجعل التحويل بين الأرقام الثنائية والسداسية العشرية أمرًا سهلاً للغاية، ويمكن استخدام النظام الست عشري لكتابة أرقام ثنائية كبيرة بأرقام أقل بكثير.

لذلك باستخدام التدوين السداسي العشري، يمكن كتابة الأرقام الرقمية باستخدام عدد أقل من الأرقام وباحتمال أقل بكثير لحدوث خطأ. وبالمثل، فإن تحويل الأرقام المبنية على أساس سداسي عشري إلى ثنائي هو ببساطة عملية عكسية لكن قد يجعل أرقامنا تنتفض كسلسلة أرقام طويلة. نظرًا لأن أساس النظام الست عشري هو 16، والذي يمثل أيضًا عدد الرموز الفردية المستخدمة في النظام، يتم استخدام الرمز 16 لتحديد الرقم المعبر عنه بالنظام الست عشري. الميزة الرئيسية للرقم السداسي العشري هي أنه مضغوط للغاية وباستخدام أساس 16 يعني أن عدد الأرقام المستخدمة لتمثيل رقم معين عادة ما يكون أقل من الرقم الثنائي أو العشري. كما أنه سريع وسهل التحويل بين الأرقام السداسية العشرية والثنائية. 

profile/لينا-نواف-سماره
لينا نواف سماره
مهندسة في وزارة الإدارة المحلية (٢٠١٨-٢٠١٩)
.
٣١ مارس ٢٠٢١
قبل ٤ سنوات
لأكثر من سبب، حيثُ أنَّ النظام السداسي العشري يمكن ترجمته بسهولة إلى نظام ثنائي، ليتم الإعتماد عليه في أكثر من تطبيق مثل عمل جميع التقنيات الرقمية. 

سبب آخر، وهو أنّه في ذلك الوقت أو ما أقصد بالأيام الأولى لعصر الكمبيوترالذي كان يتم فيه ترجمة الأرقام، لم يكن يوجد خيار يذكر في العلامات، فلم يكن للمبرمجين خيارات أوسع، وإنما فقط علامات الأرقام والحروف، فكانوا يأخذون الأحرف الأولى من الأبجدية اللاتينية كأرقام. 

لذلك هناك استحالة لاستخدام الأرقام "10"، "11"، و"12" وما إلى ذلك. 

وبسبب أنّه يُستخدم نظام سداسي عشري، والبدء من الصفر، سنكون حصلنا بالتالي على 16 رقمًا فقط. مثلاً: الرقم "D" هو الرقم العشري "13" والرقم "F" هو الرقم العشري "15". 

وعند إضافة واحد إلى الرقم السداسي العشري "F"، ومع انتهاء هذه الأرقام، يتم وضع "O" في هذا الرقم، ومن ثم ننقل واحدًا إلى الرقم الذي يليه، لذلك يتبيّن أنّه في  الرقم العشري يتم تمثيل 16 في النظام السداسي العشري كرقم "10"، لكي يتم التوضيح "عشر عشري". 

- ولهذه الأسباب التي ذكرتها لك يكون التحويل إلى النظام الثنائي بالخطوات التالية: 

  1. تقوم بقسمة العدد العشري على الأساس 2. 
  2. عليك حساب باقي القسمة والذي يكون إمّا 1 أو 0. 
  3. تقوم بقسمة ناتج القسمة السابق على الأساس 2 كما ذكرت في الخطوة رقم (1). 
  4. قم بحساب باقي القسمة كما في خطوة (2). 
  5. تبقى عملية القسمة وتحديد الباقي مستمرة إلى أن يصبح خارج القسمة الصحيح صفر. 
  6. يكون العدد الثنائي المطلوب متكوّن من أرقام الباقي مقروءة من الباقي الأخير إلى الأول. 

وتُعرف هذه الطريقة بطريقة الباقي، وتُستخدم لتحويل أي عدد صحيح موجب من النظام العشري إلى النظام الثنائي.