نظام الأرقام العشرية الثنائية. علوم الكمبيوتر - نظام الأرقام. أنواع أنظمة الأعداد تحويل الأرقام: من الثنائي إلى العشري

(التطور المنهجي)

المهمة: تحويل الأعداد المعبر عنها بالصيغة العشرية إلى الصيغة الثنائية، ثم ضربها.

ملاحظة: قواعد الضرب هي نفسها تمامًا كما في نظام الأرقام العشرية.

اضرب: 5 × 5 = 25

تحويل الرقم العشري 5 إلى ثنائي

5: 2 = 2 الباقي 1 تم الحصول على النتيجة

2: 2 = 1 الباقي 0 مكتوب بالعكس

1: 2 = 0 الباقي 1 أمر

وبالتالي: 5 (10) = 101 (2)

تحويل الرقم العشري 25 إلى ثنائي

25: 2 = 12 الباقي 1

12: 2 = 6 الباقي 0 تم الحصول على النتيجة

6: 2 = 3 الباقي 0 مكتوب بالعكس

3: 2 = 1 الباقي 1 أمر

1: 2 = 0 الباقي 1

وبالتالي: 11001 (2) = 25 (10)

نحن نفحص:

نقوم بإجراء الضرب الثنائي

×
101
+
101

قواعد الضرب في النظام الثنائي هي نفسها تمامًا كما في نظام الأرقام العشري.

1) 1 × 1، سيكون 1، اكتب 1.

2) 1 × 0، سيكون 0، اكتب 0.

3) 1 × 1، سيكون 1، اكتب 1.

4) نكتب ثلاثة أصفار، بحيث يكون الصفر الأول تحت العلامة الثانية (صفر).

5) ضرب 1 × 101 هو بالضبط نفس p.p. 1، 2، 3.

نقوم بعملية الإضافة.

6) نهدم ونكتب 1.

7) 0 +0 سيكون صفراً، اكتب 0.

8) 1 + 1 يساوي 10، اكتب صفرًا، ثم انقل الواحد إلى الرقم الأكثر أهمية.

9) 0 + 0 + 1 سيكون 1، اكتب 1

10) هدم وتسجيل 1.

المهمة 1: إجراء الضرب في شكل ثنائي

المهمة: تحويل الأعداد والتعبيرات من الصورة العشرية إلى الصورة الثنائية ثم إجراء عملية القسمة.

ملحوظة: قواعد القسمة هي نفسها تمامًا كما في نظام الأرقام العشرية.

إذا كانت النتيجة قابلة للقسمة بدون باقي، فاكتب – 0، وإلا (مع الباقي) – 1

القسمة: 10: 2 = 5

تحويل الرقم العشري 10 إلى ثنائي:

10:2 = 5 الباقي 0 5:2 = 2 الباقي 1 2:2 = 1 الباقي 0 1:2 = 0 الباقي 1

نتيجة

اكتبها إلى الوراء

وبالتالي: 1010 (2) = 10 (10)

تحويل العشري 2 إلى ثنائي

2:2 = 1 الباقي 0

1:2 = 0 الباقي 1



وبالتالي: 10 (2) = 2 (10)

تحويل العشري 5 إلى ثنائي

5:2 = 2 الباقي 1

2:2 = 1 الباقي 0

1:2 = 0 الباقي 1

وبالتالي: 101 (2) = 5 (10)

نحن نفحص:

1010 (2) = 0×2 0 + 1×2 1 + 0×2 2 + 1×2 3 = 0 +2+0+8 =10 (10)

10 (2) = 0×2 0 +1×2 1 = 0 +2 = 2 (10)

101 (2) = 1×2 0 +0×2 1 +1×2 2 = 1+ 0+4 = 5 (10)

نقوم بإجراء القسمة الثنائية:

1010 (2) : 10 (2) = 101 (2)

1010 (2) 10
10

قواعد القسمة في النظام الثنائي هي نفسها تمامًا كما في النظام العشري.

1) 10 مقسومًا على 10. خذ 1 في كل مرة، واكتب 1 كنتيجة.

2) نحذف 1 (واحد)، هذا لا يكفي، نحذف 0 (صفر).

3) خذ 1 في كل مرة، اطرح 10 من 10 (عشرة) وستحصل على صفر، وهو ما يتوافق مع
الواقع.

المهمة 1: إجراء القسمة في شكل ثنائي

1) 10010 (2) : 110 (2) =

11000 (2) : 110 (2) =

2) 110110 (2) : 110 (2) =

المهمة 2: استعادة النتيجة في شكل عشري.

المهمة: طرح الأعداد المعبر عنها بالشكل الثنائي، وإعادة النتيجة الناتجة إلى الشكل العشري.

اطرح: 1100 (2) – 110 (2) =

قواعد الطرح في شكل ثنائي.

الطرح في النظام الثنائي يشبه الطرح في النظام العشري.

110 0 + 0 = 0

110 0 + 1 = 1

1) 0 زائد 0 يساوي 0 (راجع قواعد جمع الأرقام).

2) 1 زائد 1 يساوي 10. نكتب الصفر وننقل الواحد إلى الرقم الأكثر أهمية، كما في النظام العشري

3) 1 زائد 1 زائد 1 يساوي 11 – رقم ثنائي. نكتب 1 والثاني
تم نقله إلى الرتبة العليا. نحصل على: 1100 (2)، وهذا صحيح.

المهمة: التحقق من النتيجة التي تم الحصول عليها.

1100 (2) = 0×2 0 + 0×2 1 +1×2 2 +1×2 3 = 0 + 0 + 4 + 8 = 12 (10)

110 (2) = 0×2 0 +1×2 1 +1×2 2 = 0 + 2 + 4 = 6 (10)

وبذلك نحصل على: 6 + 6 = 12، وهذا صحيح.

افعلها بنفسك:

المهمة 1. إجراء الطرح في شكل ثنائي:

+
1010 10 (10)

110 6 (10)

10000 يقابل: 16 (10)

يتم تنفيذ الإجراءات على النحو التالي.

1) 0 زائد 0 يساوي O

2) 1 زائد 1 يساوي 10 (أي 2 (اثنان) ممثلة بالرقم 10 في النظام الثنائي)؛
تاريخياً، تم استخدام عشرة أصابع لجمع الأرقام والعكس:

9 + 1 = 10; 8 + 2 = 10; 1 + 9 = 10; 2 + 8 = 10.

ولهذا السبب ظهر نظام الأرقام العشرية. وفي الثنائي هناك حرفان (اثنين): 1 و 0

3) 1 زائد 0 زائد 1 يساوي 10. اكتب 0 وانقل 1.

4) 1 زائد 1 يساوي 10، وبما أن هذا هو الإجراء الأخير، فإننا نكتب 10، تمامًا كما فعلنا في النظام العشري.

المهمة: التحقق من النتيجة التي تم الحصول عليها:

110

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

النظام العشري الثنائي ليس اقتصاديًا من وجهة نظر تنفيذ البناء الفني للآلة (تزيد المعدات المطلوبة بحوالي 20%)، لكنه مناسب جدًا عند إعداد المهام والبرمجة. في نظام الأرقام العشري الثنائي، أساس نظام الأرقام هو الرقم 10، ولكن كل رقم عشري (0، 1، ...، 9) يتم تمثيله، أي يتم ترميزه، بواسطة أرقام ثنائية. يتم استخدام أربعة أرقام ثنائية لتمثيل رقم عشري واحد. هنا، بالطبع، هناك تكرار، حيث أن 4 أرقام ثنائية (أو رباعية ثنائية) لا يمكن أن تمثل 10 أرقام، ولكن 16 رقمًا، ولكن هذه بالفعل تكلفة إنتاج من أجل راحة البرمجة. هناك عدد من الأنظمة العشرية المشفرة ثنائيًا لتمثيل الأرقام، وتتميز بأن مجموعات معينة من الأصفار والواحدات ضمن رباعي واحد يتم تعيين قيم معينة من الأرقام العشرية لها. في نظام الأعداد العشرية الطبيعي المشفر الثنائي الأكثر استخدامًا، تكون أوزان الأرقام الثنائية داخل الرباعيات طبيعية، أي 8، 4، 2، 1 (الجدول 6).

الجدول 6

التدوين العشري الثنائي

على سبيل المثال، الرقم العشري 5673 في تدوين BCD هو 01010110011100011.

يعد تحويل الأرقام من نظام أرقام إلى آخر جزءًا مهمًا من حساب الآلة. دعونا نفكر في القواعد الأساسية للترجمة.

1. لتحويل رقم ثنائي إلى رقم عشري، تحتاج إلى كتابته على هيئة كثير حدود، يتكون من منتجات أرقام الرقم والقوة المقابلة للرقم 2، وحسابه وفقًا لقواعد الحساب العشري:

عند الترجمة، من المناسب استخدام جدول قوى العدد اثنين:

الجدول 7.

صلاحيات رقم 2

ن (درجة)

مثال.تحويل الرقم إلى نظام الأرقام العشري.

2. لتحويل رقم ثماني إلى رقم عشري، تحتاج إلى كتابته على شكل متعدد الحدود، يتكون من منتجات أرقام الرقم والقوة المقابلة للرقم 8، وحسابه وفقًا لقواعد الحساب العشري:

عند الترجمة، من المناسب استخدام جدول قوى العدد ثمانية:

الجدول 8.

صلاحيات رقم 8

ن (درجة)
8 ن

مثال.تحويل الرقم 75013 8 إلى نظام الأرقام العشري.

نظام الأرقام العشرية المرمز ثنائي (D-codes)

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

يتم تضمين الحساب العشري في أجهزة الأنظمة عالية الأداء لمنع تحويل البيانات المصدر إلى البيانات الثنائية والنتائج إلى البيانات العشرية.

النظام العشري المشفر ثنائيًا هو نظام أرقام مدمج يتمتع بمزايا النظام الثنائي وسهولة النظام العشري.

د-الرمز هو تمثيل مشفر ثنائي لرقم عشري، حيث يتم تمثيل كل رقم عشري برباعية من الأحرف الثنائية.

عدد الرباعيات الثنائية المختلفة ن= 2 4 = 16. يتم استخدام عشرة منها فقط لتشفير الأرقام الثنائية. يتيح لك وجود مجموعات زائدة عن الحاجة الحصول على اختلافات د-رموز. في أجهزة الكمبيوتر، يتم استخدام أنظمة الترميز 8421 على نطاق واسع - د 1 , 2421 - د 2 , (8421+3) - د 4 . ويؤدي التكرار الناتج إلى ترميزات متعددة للأرقام العشرية، والتي يجب اختيار الترميز الأمثل منها.

تم استدعاء الكود 8421 (الجدول 2.4). الكود بالأوزان الطبيعية، حيث الأرقام 8،4،2،1 هي أوزان الأرقام الثنائية للرباعيات. يتم تمثيل أي رقم عشري في هذا الرمز بما يعادله في نظام الأرقام الثنائية. وقد وجد هذا الرمز أكبر استخدام له في تشفير الأرقام العشرية في أجهزة الإدخال/الإخراج وفي بناء أجهزة التشغيل الحسابية العشرية.

مميزات الرموز د 2 و د 4 (8421+3) أو الكود الذي يزيد عن 3 هو أن تشفير أي رقم عشري والرقم التكميلي له حتى 9 يتم تنفيذه بواسطة رباعيات متكاملة بشكل متبادل. توفر هذه الميزة طريقة سهلة للحصول على تكملة الرقم 9 عن طريق عكس الأرقام الثنائية للرباعي. تعتبر هذه الرموز ملائمة للاستخدام لتنظيم عملية الطرح عند إنشاء الأعداد العشرية.

الجدول 2.4

أمثلة على ترميز الأرقام العشرية في رباعيات

رقم عشري

المعادل في د-رموز

د 1 (8421)

د 2 (2421)

د 4 (8421+3)

فيما يلي مثال لترميز الرقم العشري A = 8371 في نظام أرقام عشري مشفر ثنائي:

د 1: أ = 1000 0011 0111 0001 (2/10) ;

د 2: أ = 1110 0011 1101 0001 (2/10) ;

د 4: أ = 1011 0110 1010 0100 (2/10).

يتم تحديد التشفير الأمثل من خلال ستة متطلبات يجب أن يفي بها الرمز العشري.

1. عدم الغموض. يجب أن يتوافق كل رقم عشري مع رمز ثنائي محدد ومختلف.

عدم الامتثال لهذا الشرط يؤدي إلى نتائج غامضة.

2. الانتظام. يجب أن تتوافق الأرقام العشرية الكبيرة مع رباعيات الكود العشري الكبيرة، وعلى العكس من ذلك، يجب أن تتوافق الأرقام العشرية الأصغر مع رباعيات أصغر.

يعد استيفاء هذا المطلب ضروريًا لتنظيم مقارنة كمية للأرقام بالمنازل العشرية.

3. التكافؤ. الأرقام الزوجية يجب أن تتوافق مع الرباعيات الزوجية، والأرقام الفردية يجب أن تتوافق مع الرباعيات الفردية. يمكن وضع علامة على الامتثال بأي شكل من الأشكال.

يعد استيفاء هذا المطلب ضروريًا لتقريب النتيجة.

4. التكامل. إذا كان x1 وx2 عبارة عن رقمين حيث x1 + x2 = 9 وكان الرقم x1 مرتبطًا برباعية، فإن الرقم x2، إذا تم استيفاء متطلبات التكامل، يجب أن يرتبط برباعية تم الحصول عليها عن طريق عكس الأرقام الثنائية لـ رمز الرقم x1.

يعد شرط التكامل ضروريًا لتبسيط تنفيذ الرموز التكميلية والمتبادلة للأرقام العشرية.

5. الأهمية. يجب أن يكون هناك أربعة أعداد صحيحة موجبة: p3، p2، ​​p1، p0، تسمى الأوزان، والتي يمكنك من خلالها تحديد الرقم العشري x من قيمة الرباعية الثنائية المرتبطة بـ x، باستخدام الصيغة

الوفاء بهذا الشرط يسهل فك التشفير.

6. الاستمرارية. يجب أن يتوافق التسلسل المستمر للتغيرات في معنى الأرقام مع التسلسل المستمر للتغيرات في معنى الرباعيات.

لا يوجد رمز عشري يلبي جميع هذه المتطلبات الستة في نفس الوقت.

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

مزايا نظام الأرقام العشرية المرمزة ثنائيًا بالنسبة لنظام الأرقام الثنائية هي:

  • · لا حاجة لتحويل البيانات المصدرية والنتائج من نظام رقم إلى آخر.
  • · سهولة مراقبة النتائج المتوسطة من خلال عرضها للمراقبة الداخلية.
  • · إمكانيات أوسع للتحكم الآلي نظرا لتوفرها د-رموز المجموعات الزائدة عن الحاجة.

د- تُستخدم الرموز لحل المشكلات الاقتصادية التي تتميز بكمية كبيرة من البيانات الأولية والبساطة المقارنة وحجم صغير من التحولات التي يتم إجراؤها عليها وعدد كبير من نتائج الحساب. يستخدم هذا النظام على نطاق واسع في الآلات الحاسبة وأجهزة الكمبيوتر الشخصية.

يحتوي هذا النظام على قاعدة S = 10، ولكن يتم تمثيل كل رقم برقم ثنائي مكون من أربعة بتات يسمى رباعي. عادة، يتم استخدام نظام الأرقام هذا في أجهزة الكمبيوتر عند إدخال المعلومات وإخراجها. ومع ذلك، في بعض أنواع أجهزة الكمبيوتر، تحتوي وحدة ALU على كتل حسابية عشرية خاصة تقوم بإجراء عمليات على الأرقام في الكود العشري الثنائي. وهذا يسمح في بعض الحالات بزيادة أداء الكمبيوتر بشكل ملحوظ.

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

يعد تحويل الأرقام من النظام العشري إلى BCD أمرًا بسيطًا للغاية ويتكون من استبدال كل رقم برباعية ثنائية.

مثال.

اكتب الرقم العشري 572.38 (10) في نظام الأرقام العشري الثنائي.

الترجمة العكسية بسيطة أيضًا: تحتاج إلى تقسيم الرقم الثنائي العشري إلى رباعيات من النقطة إلى اليسار (للجزء الصحيح) وإلى اليمين (للجزء الكسري)، وإضافة العدد المطلوب من الأصفار غير المهمة، و ثم اكتب كل رباعية كرقم عشري.

مثال.

اكتب الرقم العشري الثنائي 10010.010101 (2-10) في نظام الأرقام العشري.

يتم تحويل الأرقام من BCD إلى النظام الثنائي وفقًا للقواعد العامة الموضحة أعلاه.

2.3. نظام الأرقام الثماني

في نظام الأرقام الثماني، يتم استخدام ثمانية أرقام فقط، أي. نظام الأرقام هذا له أساس S = 8. بشكل عام، يبدو الرقم الثماني كما يلي:

أين
.

لا يحتاج الكمبيوتر إلى نظام الأرقام الثماني، على عكس النظام الثنائي. إنه مناسب كشكل مضغوط لكتابة الأرقام ويستخدمه المبرمجون (على سبيل المثال، في نصوص البرامج للحصول على طريقة أكثر إيجازًا وملاءمة لكتابة الرموز الثنائية للأوامر والعناوين والمعاملات). في نظام الأرقام الثماني، يكون وزن كل رقم من مضاعفات ثمانية أو ثمن، لذا فإن الرقم الثنائي المكون من ثمانية بتات يسمح لك بالتعبير عن القيم العشرية في النطاق 0-255، ويغطي الرقم الثماني النطاق 0 -99999999 (للثنائي هذا 27 رقمًا).

بما أن 8=2 3، يمكن تمثيل كل حرف ثماني كرقم ثنائي مكون من ثلاثة بتات. لتحويل رقم من نظام الأرقام الثنائية إلى نظام الأرقام الثماني، تحتاج إلى تقسيم هذا الرقم إلى اليسار (للجزء الصحيح) وإلى اليمين (للجزء الكسري) من النقطة (الفاصلة) إلى مجموعات من ثلاثة أرقام (ثلاثيات) وتمثل كل مجموعة برقم في نظام الأرقام الثماني. يتم استكمال الثلاثيات غير المكتملة بالعدد المطلوب من الأصفار غير المهمة.

مثال.

اكتب الرقم الثنائي 10101011111101 (2) في نظام الأرقام الثماني.

مثال.

اكتب الرقم الثنائي 1011.0101 (2) في نظام الأرقام الثماني.

يتم التحويل من نظام الأرقام الثماني إلى نظام الأرقام الثنائية من خلال تمثيل كل رقم من الرقم الثماني كرقم ثنائي مكون من ثلاثة أرقام (ثالوث).

2.4. نظام الأرقام السداسي العشري

يعتمد نظام الأرقام هذا على S = 16. بشكل عام، يبدو الرقم السداسي العشري كما يلي:

أين
.

يتيح نظام الأرقام السداسية العشرية إمكانية كتابة أرقام ثنائية متعددة البت بشكل أكثر إيجازًا، بالإضافة إلى تقصير تدوين الرقم الثنائي المكون من 4 بتات، أي. عاب، لأن 16=2 4 . يتم استخدام النظام السداسي العشري أيضًا في نصوص البرامج لتسجيل أكثر إيجازًا وملاءمة للأرقام الثنائية.

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

مثال.

اكتب الرقم الثنائي 10101011111101 (2) بالنظام الست عشري.

مثال.

اكتب الرقم الثنائي 11101.01111 (2) بالنظام الست عشري.

لتحويل رقم من نظام الأرقام السداسي العشري إلى نظام الأرقام الثنائية، من الضروري، على العكس من ذلك، استبدال كل رقم من هذا الرقم برباعي.

في الختام، تجدر الإشارة إلى أن نقل الأرقام التعسفية من نظام أرقام إلى آخر يمكن أن يتم وفقًا للقواعد العامة الموضحة في قسم "نظام الأرقام الثنائية". ومع ذلك، في الممارسة العملية، تتم ترجمة الأرقام من النظام العشري إلى أنظمة الأرقام المعنية والعكس من خلال نظام الأرقام الثنائية.

تذكر أيضًا أن الأرقام السداسية العشرية والثمانية ليست سوى وسيلة لتمثيل الأرقام الثنائية الكبيرة التي يعمل عليها المعالج فعليًا. في هذه الحالة، يُفضل النظام السداسي العشري، حيث إن المعالجات في أجهزة الكمبيوتر الحديثة تتعامل مع الكلمات ذات الطول 4 أو 8 أو 16 أو 32 أو 64 بت، أي. طول الكلمات هو مضاعف 4. في نظام الأرقام الثماني، تُفضل الكلمات التي تكون مضاعفات 3 بت، على سبيل المثال، الكلمات التي يبلغ طولها 12 بت (كما في PDP-8 من DEC).

نظام الأرقام العشرية الثنائية. يتم استبدال الأرقام العشرية من 0 إلى 9 بالرباعيات الثنائية التي تمثلها: 0=0000، 1=0001، 2=0010، 3=0011، 4=0100، 5=0101، 6=0110، 7=0111، 8=1000 و9= 1001. يُستخدم هذا الترميز في كثير من الأحيان كخطوة وسيطة في تحويل رقم من النظام العشري إلى النظام الثنائي أو العكس. نظرًا لأن 10 ليس قوة دقيقة للرقم 2، فلا يتم استخدام جميع الرباعيات الـ 16، وتكون خوارزميات العمليات الحسابية على الأعداد متعددة الأرقام أكثر تعقيدًا مما هي عليه في أنظمة الأرقام الأساسية. ومع ذلك، يتم استخدام نظام الأرقام العشرية الثنائية حتى على هذا المستوى في العديد من الآلات الحاسبة الدقيقة وبعض أجهزة الكمبيوتر (على وجه الخصوص، Yamaha MSX).

نظرًا لأن التمثيل والحساب في نظام الأرقام العشرية مألوفان لدى البشر، والتمثيل الثنائي والحساب الثنائي أكثر شيوعًا لأجهزة الكمبيوتر، فقد تم تقديم نظام تسوية للتدوين الثنائي العشري للأرقام. يُستخدم هذا النظام غالبًا عندما تكون هناك حاجة لاستخدام إجراء الإدخال/الإخراج العشري بشكل متكرر. (الساعات الإلكترونية، الآلات الحاسبة، أرقام المتصلين، إلخ). في مثل هذه الأجهزة، ليس من المستحسن دائمًا توفير رمز صغير عالمي لتحويل الأرقام الثنائية إلى أرقام عشرية والعكس نظرًا لصغر حجم ذاكرة البرنامج.

مبدأ هذا النظام بسيط للغاية: يتم تحويل كل رقم عشري مباشرة إلى ما يعادله من العدد العشري 4 بت، على سبيل المثال: 369110=0011 0110 1001 0001DEC:

عشري 3 6 9 1 بي سي دي 0011 0110 1001 0001

لنقم بتحويل الرقم العشري الثنائي 1000 0000 0111 0010 إلى مكافئه العشري. يتم تحويل كل مجموعة مكونة من 4 بتات إلى معادلها العشري. نحن نحصل 1000 0000 0111 0010DEC = 807210:

BCD 1000 0000 0111 0010 عشري 8 0 7 2

تستخدم المعالجات الدقيقة أرقامًا ثنائية خالصة، ولكنها تفهم أيضًا أوامر تحويل BCD. يتم تمثيل الأرقام العشرية الثنائية الناتجة بسهولة بالتدوين العشري، وهو أمر أكثر قابلية للفهم بالنسبة للأشخاص.

تحويل الأرقام الثنائية إلى BCD

تقوم الوحدة الحسابية المنطقية لوحدات التحكم الدقيقة AVR (وكذلك المعالجات الدقيقة الأخرى) بإجراء عمليات حسابية ومنطقية أولية على الأرقام الممثلة في الكود الثنائي. تتم قراءة نتائج تحويل ADC بالرمز الثنائي؛ ومن الملائم معالجة نتائج القياس بالرمز الثنائي (بتنسيق أعداد صحيحة أو أرقام الفاصلة العائمة). ومع ذلك، عندما يتم عرض النتيجة النهائية على المؤشر، يجب تحويلها إلى تنسيق عشري يمكن قراءته بواسطة الإنسان.

يناقش هذا القسم برامج تحويل الأرقام الثنائية إلى BCD.

1. تنسيقات تمثيل الأعداد العشرية

يوجد حاليًا تنسيقان شائعان لتمثيل الأرقام العشرية في المعالجات الدقيقة - الرقم العشري المشفر ثنائيًا (BCD-Binary-Coded Decimal) والرمز العشري غير المعبأ.

رمز BCD المعبأ هو تمثيل لرقم عشري حيث يتم تمثيل كل رقم عشري بواسطة رمز موضعي ثنائي مكون من 4 بتات 8-4-2-1. في هذه الحالة، يحتوي البايت على رقمين عشريين. يحتل الرقم العشري الأقل أهمية الرباعية اليمنى (البتات 3: 0)، ويحتل الرقم العشري الأكثر أهمية الرباعية اليسرى (البتات 7: 4). تشغل أرقام BCD متعددة البت عدة بايتات متجاورة. إذا تم توقيع الرقم، فسيتم تخصيص رباعية الأكثر أهمية من البايت الأكثر أهمية لتمثيل الإشارة بتنسيق BCD. يمكن استخدام ستة أنماط من الأكواد الثنائية لترميز أحد الأحرف، والتي لا تُستخدم لتمثيل الأرقام العشرية. هذه هي الرموز 1010-1111 (A-F بالنظام الست عشري). عادةً، يتم استخدام الرمز 1100 (C) لتشفير علامة الزائد، و1101 (D) لعلامة الطرح.

الرمز العشري غير المعبأ هو مجموعة فرعية من جدول ترميز أحرف ASCII الدولي (الجدول 1). يمكن ملاحظة أن تخزين الأرقام العشرية غير المعبأة يتطلب ضعف الذاكرة، حيث يتم تمثيل كل رقم برمز مكون من 8 بت. الجدول 1: رموز ASCII للأرقام العشرية

2. تحويل الأعداد الصحيحة ذات 16 بت إلى أرقام BCD

يقدم موقع www.atmel.com برنامج "bin2bcd16" لتحويل الأرقام الصحيحة الثنائية ذات 16 بت إلى أرقام BCD المعبأة. تتناول هذه المقالة البرنامج "bin16bcd5" (انظر الملحق، البرنامج 1)، الذي كتبه A.V Tereshkin وفقًا للخوارزمية الموضحة في، ويقوم بنفس المهمة. وتبين أن البرنامج الأخير أكثر كفاءة من الأول من حيث السرعة وطول الكود وعدد السجلات المستخدمة.

خوارزمية برنامج "bin16bcd5" هي كما يلي. لنفترض أن لدينا عددًا صحيحًا غير موقّع يبلغ 16 بت (النطاق من 0 إلى 65535). من الواضح أنك بحاجة إلى العثور على 5 أرقام عشرية. طريقة التحويل هي طرح 10000 من الرقم الأصلي وتحديد الرقم العشري لعشرات الآلاف أولاً. ثم يتم إيجاد رقم الآلاف عن طريق طرح الرقم 1000، الخ، بشكل متتابع. ويتم إجراء الطرح في كل مرة حتى يتم الحصول على فرق سالب عن طريق حساب عدد عمليات الطرح. عند الانتقال إلى تحديد كل منزلة عشرية تالية في سجلات الرقم الأصلي، تتم استعادة آخر فرق موجب. بعد العثور على الرقم العشري للعشرات، سيبقى الرقم العشري للوحدات في سجلات الأرقام الأصلية.

يقوم البرنامج "bin16ASCII5" (انظر الملحق، البرنامج 2) بتحويل رقم صحيح ثنائي 16 بت إلى رقم عشري غير معبأ. يتم استخدام نفس الخوارزمية.

3. تحويل الكسر الثنائي إلى BCD

يتم تمثيل الكسر الثنائي، حسب التعريف، بالتعبير التالي:

0.A-1A-2 ... أ-م = أ-1*2-1 + أ-2*2-2 + ... أ-م*2-م

من هذا التمثيل يتبع خوارزمية التحويل (الشكل 2)، والتي تحتوي على خطوات م. في كل خطوة، تتم إضافة الرقم الثنائي التالي إلى النتيجة العشرية الثنائية ويتم تقسيم النتيجة بأكملها على 2.

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

إن إضافة هذا الرقم إلى رقم BCD يعني أنه يجب وضعه في رقم الوحدات لرقم BCD، حيث، عند القسمة اللاحقة على اثنين، سينتقل الرقم A-i إلى الرقم الأكثر أهمية في الرباعية الأكثر أهمية للكسر العشري . عند البرمجة، يمكننا التفكير في وضع الوحدات العشرية على أنها بتة حمل C.

عند قسمة رقم ثنائي معبأ على اثنين، تمامًا كما هو الحال عند قسمة رقم ثنائي، يتم إزاحته إلى اليمين بمقدار مكان واحد. في هذه الحالة، كل رباعي، أي كل رقم عشري، يُقسم على اثنين. عند قسمة رقم عشري زوجي في المكان المقابل، يتم الحصول على الرقم العشري مرة أخرى ولا يلزم أي تصحيح. عند القسمة على 2 رقم عشري فردي، يجب إضافة باقي 5 إلى المنزلة العشرية السفلية، ولكن في الواقع فإن التحول الثنائي يضيف الرقم 8 (وزن الرقم الرباعي الأكثر أهمية) إلى الرباعية السفلية. ولذلك، يلزم تصحيح النتيجة، وهو طرح الرقم 3 من محتويات تلك الدفاتر التي تحتوي على الأرقام الأكثر أهمية بعد الانتقال إلى اليمين.

4. تحويل أرقام النقطة العائمة إلى أرقام BCD

تمثيل أرقام الفاصلة العائمة هو كما يلي:

حيث M هو الجزء العشري الثنائي للرقم، P هو الترتيب الثنائي للرقم.

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

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