الـ BCD او النظام العشري المرمز ثنائيا Binary Coded Decimal هو نظام ترميز او تشفير يعتمد على ترميز كل خانة عشرية باربع خانات ثنائية.
مثلا:
الرقم 0 في النظام العشري يقابل 0000 في الـBCD
الرقم 1 في النظام العشري يقابل 0001 في الـBCD
الرقم 2 في النظام العشري يقابل 0010 في الـBCD
الرقم 3 في النظام العشري يقابل 0011 في الـBCD
الرقم 4 في النظام العشري يقابل 0100 في الـBCD
الرقم 5 في النظام العشري يقابل 0101 في الـBCD
الرقم 10 في النظام العشري يقابل 0000 0001 في الـBCD
الرقم 11 في النظام العشري يقابل 0001 0001 في الـBCD
الرقم 18 في النظام العشري يقابل 1000 0001 في الـBCD
الرقم 27 في النظام العشري يقابل 0111 0010 في الـBCD
الرقم 927 في النظام العشري يقابل 0111 0010 1001 في الـBCD
وعندما نريد أن نمثل عدد مكون من أكثر من رقم عشري نستخدم لكل عدد عشري تشفيرة ثنائية ABCD وكمثال على ذلك العدد العشري 5706 باستخدام الشيفرة BCD العدد العشري 6 0 7 5 تشفيرهBCD 0110 0000 0111 0101 الشيفرة 0101011100000110 العدد العشري 8 8 9 1 تشفيرهBCD 0111 0111 1001 0001 الشيفرة 0001100101110111 وعلى الرغم من سهولة التحويل من عشري إلى ثنائي واستخلاص العدد العشري من تشفيره BCD إلا أن هناك مساوئ لهذا النظام 1- صعوبة إجراء العمليات الحسابية 2- استخدام عشرة تركيبات فقط من التركيبات الممكن تشكيلها من أربعة أرقام ثنائية
العمليات على الأعداد المشفرة في نظام BCD الجمع : حيث يتم جمع هذا النوع من الأعداد كل رقمين على حدة أي الرقم الأول من العددين المجموعين يضافان إلى بعضهما وكذلك الثاني والثالث والرابع وهي عملية بسيطة وتعطي النتيجة الصحيحة بشكل مباشر وسريع إذا كان الناتج أقل من عشرة وكمثال على ذلك 3= 0011 5 = 0101 + 4 = 0100 + 4 = 0100 7 = 0111 9 = 1001
أما إذا كان الناتج أكبر من العدد العشري (9 ) فإن النتيجة التي نحصل عليها غير مقبولة لأن نظام التشفير هذا لا يسمح بالقيم من( 10 ) وحتى ( 15 ) ضمن ناتج كل مجموعة حسابية فإننا غي هذه الحالة نضيف الرقم الستة العشري وهو ( 0110 ) إلى الناتج الغير مقبول فتؤدي عملية الجمع هذه إلى توليد منقول من المرتبة الأعلى فنحصل على الجواب الصحيح في نظام التشفير المذكور
17 = 10001 9 = 1001
+ 6 = 0110 + 8 = 1000 (17)BCD = 10111 17 = 10001 بإضافة الرقم ستة تحول الناتج الغير مقبول في نظام التشفير إلى ناتج صحيح ومقبول ناتج غير مقبول وغير متوفر في نظام التشفير BCD وتسمى هذه الستة العشرية في نظام التشفير BCD بالستة التصحيحية وتنتج لدينا الآن القاعدة الأساسية لجمع الأعداد العشرية المشفرة ثنائياً وهي : 1- إضافة العددين وكأنهما عددين ثنائيين عاديين 2- إذا كان الناتج مؤلف من أربع خانات ومنحصر بين الصفر والتسعة يكون الناتج صحيحاً وموجوداً في نظام التشفير BCD 3- إذا كان الناتج مؤلف من أربع خانات وأكبر من العدد تسعة العشري فإننا نضيف العدد ستة العشري لنحصل على الناتج الصحيح والموجود في نظام التشفير BCD 4- إذا كان الناتج مؤلف من خمس خانات أي تولد لدينا منقول فإننا أيضاً نضيف العدد ستة العشري لنحصل على الناتج الصحيح والموجود في نظام التشفير BCD الضرب : ويتم في هذا النظام ضرب العددين على التوالي كما في النظام العشري أي كل رقم من أرقام المضروب يضرب بكل رقم من أرقام المضروب به وتشكل كل عملية ضرب ناتجاً جزئياً فنقوم بجمع النواتج الجزئية لنحصل على الإجابة الصحيحة والمقبولة حصراً مع العلم أن ضرب الواحد بالصفر يساوي الصفر وضرب الصفر بالصفر يساوي الصفر أما ضرب الواحد بالواحد فيساوي واحد ملاحظة إن عملية الضرب لا تولد منقول حتماً وكمثال على ذلك المضروب 1110 المضروب به 101 ×
النواتج الجزئية 1110 0000 1110 الناتج النهائي 1000110
إن تنفيذ عملية الضرب أمر سهل ويعتمد على البدء بالخانة الأقل مرتبة وعلى إزاحة النواتج الجزئية المتتالية عن بعضها بمقدار خانة واحدة إلى اليسار كما توضح في المثال والقيام بعملية جمع النواتج الجزئية بشكل صحيح ومن الممكن أن يكون عدد خانات الناتج أكبر من عدد خانات المضروب أو المضروب به بمقدار واحد على الأكثر . القسمة : تعتبر عملية القسمة في النظام الثنائي أو نظام التشفير BCD أكثر سهولة من عملية القسمة في النظام العشري فإننا في النظام الثنائي نبحث عن إمكانية تنزيل المقسوم عليه تحت الخانات الثلاثة الأولى منت المقسوم فإذا كان ذلك غير ممكناً فإننا نقوم بتنزيل المقسوم عليه تحت الأربع خانات الأولى ولسنا بحاجة لتقدير النتيجة فهي إما صفر أو واحد وتستمر عملية القسمة كما تستمر عملية القسمة في النظام العشري وكمثال على ذلك الناتج النهائي 11101… المقسوم 10010011 المقسوم عليه 101
استمرار عملية القسمة 1000 101 100 101 111 101 الباقي 10