يسهّل النظام العشريّ المشفّر ثنائياً BCD (Binary Codec Decimal) عمليّة التّحويل بين الأرقام الثّنائيّة (أرقام لغة الآلة) والأرقام العشريّة (الأرقام التي يتعامل معها المُستخدِم ويفهمها)؛ حيثُ يعرض هذا المقال آلية عمل هذا النّظام واستخدامهُ.
قاد تطوّر الحواسيب من نماذج أوليّة مُعتمِدة على التّرانزستورات إلى حواسيب شخصيّة تَستخدم شّرائح ميكرويّة و ذواكر و مُسجّلات  بطول 8 بت إلى اعتماد النّظام العشريّ القياسيّ.
استخدم المبرمجون تعليمات محدّدة بطول 8 بت لتسهيل جميع عمليات الحوسبة، واستمرّ استخدام هذه التّعليمات على مدى سنوات تطوّر الحواسيب، كما أنّه من المُحتمل متابعة استخدامها في المستقبل.

التّعبيرات المنطقيّة (البوليانية):

يُعبَّر عن كلّ خانة من الثمانية بتات ضمن الحاسوب بقيمتَين فقط تمثّلان المنطق 1 (أو TRUE) والمنطق 0 (أو FALSE)،وهذا ما يشير إليه المنطق البوليانيّ في علم الحواسيب؛ حيث تعمل التعبيرات المنطقيّة والمنطق البولياني على تحسين نظام الأرقام الثّنائيّة ليُصبح مثاليّاً للاستخدام في الأنظمة وفي الدّارات الإلكترونيّة أو الرّقميّة.

يوضح المقصود بالمنطق البولياني.
يوضح المقصود بالمنطق البولياني.

نظام التّرميز الثّنائيّ العشريّ BCD

يسهّل نظام BCD كما ذكرنا آنفاً التّحويل بين الأرقام الثّنائيّة (أرقام لغة الآلة) والأرقام العشريّة (الأرقام التي يتعامل معها المستخدِم ويفهمها).

ميّزات نظام التّرميز BCD

تكمن الفائدة من النظام بتدوين كلّ رقم عشريّ بشكل مجموعة مكوّنة من أربعة أرقام ثنائيّة ممّا يسهّل عمليّة التّحويل بين النّظامين العشريّ المُعتمِد على الأساس 10 والثّنائيّ المُعتمِد على الأساس 2 .

 يبيّن تمثيل النّظامين العشريّ والثّنائي.
يبيّن تمثيل النّظامين العشريّ والثّنائي.

مساوئ نظام التّرميز BCD

تكمن نقطة ضعف المُرمّز BCD في عدم قدرته على استخدام الحالات الواقعة بين الرّقم الثّنائيّ 1010 والمكافئ للعدد العشريّ 10 والرّقم الثّنائيّ 1111 المكافئ للعدد العشريّ 15.

يبيّن الحالات (الأرقام) التي يتعامل معها مرمّز BCD.
يبيّن الحالات (الأرقام) التي يتعامل معها مرمّز BCD.

استخدام النّظام الثّنائيّ في الحواسيب

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

يَستخدم النّظام العشريّ مُضاعفات العدد 10 مثل: 1، 10، 100، 1000 وما إلى ذلك، بينما يَستخدم النظام الثنائيّ مُضاعفات العدد 2 وبوضوح أكثر هو مُضاعفة قيمة كلّ بت في السلسلة كما الآتي: 1، 2، 4، 8، 16، 32 الخ، وبالنّتيجة تُسمّى عمليّة التّرميز هذه بين القيم الثّنائيّة والعشريّة بالتّرميز العشريّ المشفّر ثنائيّاً   Binary-codec decimal  .

 يوضّح استخدام النظام الثنائيّ في الحواسيب.
يوضّح استخدام النظام الثنائيّ في الحواسيب.

النظام العشريّ المشفّر ثنائيّاً BCD

يُعرّف بأنه ترميز يعتمد على سلسلة من البتّات أو الأرقام الثّنائيّة التّي تُظهِر الصيغة العشريّة المُكافئة للرّقم عند فكّ ترميزها؛ حيث يحتوي العدد العشريّ على عشرة أرقام من صفر وحتى تسعة والّتي تُمثَّل بسلسلة من أربعة بتات، تُعطي هذه السلسلة بدورها رقماً عشريّاً مُكافِئاً عند فكّ ترميزها، أيضاً سنستخدم في المرمّز BCD الأرقام الثّنائيّة من 0000 وحتى 1001 المساوية للأرقام العشريّة من 0 وحتى 9، لنأخذ مثالاً على ذلك الرقم العشريّ 5 والّذي يمثَّل بـ 0101 بنظام الترميز BCD أمّا الرقم 2 فيُمثَّل بـ 0010 والـ 15 بـ 0001 0101.

 تمثيل الأرقام العشرية بترميز BCD.
تمثيل الأرقام العشرية بترميز BCD.

آليّة التّحويل في نظام الترميز BCD

سنلقي الآن نظرةً على عمليّة التّحويل هذه فكما هو موضّح في الرسم أدناه تزداد قيمة العدد العشريّ لكلّ منها كلّما اتجهنا نحو اليسار بمقدار (بمعامِل) 10، ومع المرمّز فإنّ قيمة كلّ عدد ثنائيّ تزداد بمقدار الضّرب بـ 2؛ حيثُ تكون قيمة العدد الأوّل هي 1 أو (20)، وقيمة العدد الثّاني هي 2 أو (21)، وقيمة العدد الثّالث هي 4أو (22)، أمّا العدد الرّابع فقيمتهُ 8 أو(23).

 يبيّن آليّة التّحويل في نظام التّرميز BCD.
يبيّن آليّة التّحويل في نظام التّرميز BCD.

جدول الحقيقة الخاصّ بالمرمّز BCD

يمكننا القول بعد فهم أساسيّات النظام الثنائيّ:َ إنّ العلاقة بين الأعداد العشريّة والأعداد العشريّة المُرمّزة بصيغة ثنائيّة موضّحة في جدول الحقيقة الآتي والخاصّ بنظام الترميز BCD وهي هنا من العدد 0 وحتى الـ 15.

جدول الحقيقة للـ BCD.
جدول الحقيقة للـ BCD.

مقارنة بين الترميز الثنائيّ العشريّ والتحويل من عدد ثنائيّ إلى عشريّ

يختلف التّرميز الثنائيّ العشريّ عن التحويل من صيغة عدد ثنائيّ إلى صيغة عدد عشريّ، فمثلاً إذا أردنا تمثيل العدد 72 بكلتا الحالتَين (الطّريقتَين) ستكون البتات كما يلي:

BCD: 0111 0010

Binary: 0100 1000

يبيّن كيفيّة تمثيل العدد 72 بالمرمّز
يبيّن كيفيّة تمثيل العدد 72 بالمرمّز

سنستخدم الجدول الآتي لتوضيح و زيادة مجال القِيَم لتشمل 16 بتاً، فيصبح بإمكاننا تحويل الأعداد العشريّة الآتية: 9620 و120 و4568 إلى ما يكافئها بالصيغة الثنائيّة وذلك بجمع كافّة قيم الأعداد العشريّة من اليمين إلى اليسار في مواضع الخانات ذات الرقم 1 وبالنتيجة نحصل على المُكافئ العشريّ.

فالعدد 9620 = 8192+1024+256+128+16+4 والمكافِئ للقيمة الثّنائيّة 0010 0101 1001 0100.

والعدد 120= 64+32+16+ والمكافِئ للقيمة الثنائيّة 0000 0000 0111 1000.

والعدد 4568 = 4096+254+128+64+16+8 والمكافِئ للقيمة الثنائية 0001 0001 1101 1000.

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

بينما يكون تمثيل نفس الأعداد العشريّة باستخدام المرمّز BCD كما يلي:

9620(9، 6، 2، 0) يكافِئ بترميز BCD القيمة 1001 0110 0010 0000.

120(1، 2، 0) يُكافِئ بترميز BCD القيمة 0001 0010 0000.

4586(4، 5، 6، 8) يكافِئ بترميز BCD القيمة 0100 0101 0110 1000.

 يبيّن ترميز الأعداد باستخدام BCD.
يبيّن ترميز الأعداد باستخدام BCD.

تطبيقات الترميز BCD

الدّارات الإلكترونيّة:

تُقسَم الأنظمة والدّارات الإلكترونيّة إلى نوعين تشابهيّة ورقميّة؛ حيثُ تتغيّر سويّات الجهد في الدّارات التّشابهيّة وقد تتبدل بين القيم الموجبة والسّالبة خلال دَور زمنيّ (فترة من الزّمن)، بينما تولّد الدّارات الرّقميّة مستويات موجبة أو سالبة للجهد مختلفة تُمثَّل إمّا بالحالة المنطقيّة (1) أو بالحالة المنطقيّة (0).

 تمثيل لأنواع الدّارات الإلكترونيّة.
تمثيل لأنواع الدّارات الإلكترونيّة.

الحالات المنطقيّة HIGH وLOW في الإشارات الرّقميّة:

يُمكن استخدام أيّة قيمة للجهد الكهربائيّ في الدّارات الرّقميّة بالرغم من ذلك تكون أقلّ من 10 فولت في الأنظمة الرّقميّة الحاسوبيّة، كذلك يُطلَق على الجهود الكهربائيّة في هذا النّوع من الدّارات بالمستويات المنطقيّة، فعادةً ما يمثّل أحد مستويات الجهد حالة HIGH (حالة 1) ويمثّل مستوى الجهد المنخفض حالة LOW (حالة 0) ؛حيث أنّ نظام العد الثنائيّ يَستخدم كلتا الحالتَين، كما تتضمّن الإشارات الرّقميّة مستويات جهد متقطّعة تتغيّر بين هاتين الحالتَين(HIGH، LOW).

 يوضّح الجهود الخاصّة بالدّارات الرّقميّة.
يوضّح الجهود الخاصّة بالدّارات الرّقميّة.

استخدام مرمّز BCD في شاشات الإظهار الرّقميّة ألفا وفي RTC:

شاعَ استعمال مرمّز BCD سابقاً للإظهار الرّقميّ (إظهار الأرقام والمحارف) alpha-numeric ولكن استمرّ استخدامه في أيّامنا هذه في ساعات الزّمن الحقيقيّ  (RTC) لتتبّع الوقت ، كما أصبح شائعاً بشكل أكبر أن يتمّ تضمين ساعة زمن حقيقيّ في المعالجات الصّغريّة المُدمجة.

شاشة الإظهار الرّقميّ Alpha-numeric.
شاشة الإظهار الرّقميّ Alpha-numeric.

من الشّائع جداً أن يُخزّن RTC الوقت بنمط ترميز BCD؛ حيث قد تستخدِم السّاعات الرّقميّة اللّيدات للتّعبير عن القيم الثنائيّة وإيضاحها، كما يُظهِر كلّ عمود من اللّيدات لهذه السّاعة عدداً مُرمَّزاً بنمط BCD.

ساعات الزمن الحقيقي ورقائق RTC.
ساعات الزمن الحقيقي ورقائق RTC.

شاشات الإظهار 7 SEGMENT ومفاتيح THUMBWHEEL SWITCHES

استُخدمت شاشات العرض 7 SEGMENT و ومفاتيح THUMBWHEEL SWITCHES (مفتاح تبديل يتمّ تغيير القيم العدديّة المختارة عن طريق تدوير قرص باستخدام الأصابع ) في الفترة الّتي سبقت استخدام شاشات اللّمس كواجهات عددية بين المستخدمين والمتحكّمات المنطقيّة القابلة للبرمجة PLC، مع العلم أنّه قبل وجود متحكّمات PLC كانت تجهيزات العرض هذه  المُعتمدة على BCD الواجهة العدديّة الوحيدة للرّبط مع دارات النظم الإلكترونيّة.

 يوضّح المبدلات الرقميّة وشاشات العرض.
يوضّح المبدلات الرقميّة وشاشات العرض.

الترميز BCD في أنواع معطيات عدّادات ومؤقّتات S7 من شركة سيمنز SIEMENSE:

تستخدِم بعض متحكّمات PLC كالمؤقّت S7 والعدّادات ترميز BCD في بعض أنواع المعطيات  لأنّ هذه الأنواع تعود للفترة التي تعامل بها المهندسون مع أجهزة مثل مفاتيح THUMBWHEEL SWITCHES وشاشات الإظهار 7 Segment، وفي الواقع مازال يعتمد ضبط المؤقّت S7 على صيغة الإدخال S5T#2S للضّبط لمدة ثانيتَين وذلك بسبب توارث هذه القاعدة من منصّة S5 PLC.

تستخدِم هذه المؤقّتات 3 أعداد BCD أو 12 بتاً وبتَّين إضافيَين لخانة ال TIME BASE، وأيضاً تستعملها العدّادات التي تعدّ من 0 وحتى +999 فقط.

 عدّادات ومؤقّتات PLC.
عدّادات ومؤقّتات PLC.

المصدر:هنا
ترجمة: سارة خضر , مراجعة: علي العلي, تدقيق لغوي: رنيم العلي, تصميم: علي العلي, تحرير: علي العلي