رموز الحساب الثنائي. عدد صحيح من الرموز الثنائية. رموز ثنائية عكسية موقعة

حول النظام الثنائي والرموز

في التكنولوجيا الرقمية، يتم التعبير عن المعلومات المرسلة أو المستلمة أو المحولة من خلال مجموعة من رموز النظام الثنائي رقم - ثنائيشفرة.

يمكن تمثيل أي رقم عشري مألوف لدينا كمجموعة من الآحاد والأصفار لهذا النظام. الرقم العشري 7، على سبيل المثال في النظام الثنائييكتبون مثل هذا: 0111. هنا الحرف الموجود في أقصى اليسار هو الرقم الأكثر أهمية، والحرف الموجود في أقصى اليمين هو الرقم الأقل أهمية في رقم الكود الثنائي المكون من أربعة بتات. يتم تحويل هذا الرقم الثنائي إلى رقم في نظام الأرقام العشرية بالترتيب التالي: 0111 = 0X2 3 +1X2 2 +1X2 1 +1X2 0 =0+4+2+1 =7.

ثم يتم تكرار الحساب حتى يوضح الشكل 26 الحساب الكامل. يتم الحصول على التمثيل الثنائي من خلال قراءة قائمة الباقي من الأسفل إلى الأعلى، ثم يتم إكماله بوضع البتات الأكثر أهمية في الصفر لتحقيق عدد البتات المطلوبة.



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

في قلب التحول رقم ثنائييحتوي العلامة العشرية على الرقم 2. ويسمى الرمز نفسه في هذه الحالة بالرمز الثنائي الطبيعي أو الرمز 8-4-2-1.

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

الجدول 1

رقم عشري رقم ثنائي
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

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

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

عامل معالجة البتات

يعد التحويل الصريح إلى نوع البايت ضروريًا للرقم الثاني لأن تحويل المترجم لم ينجح، وبالتالي فإن العدد الصحيح المقابل هو 212، والذي، للتذكير، أكبر من أكبر بايت قابل للتمثيل وهو 127. تنطبق هذه العوامل فقط على الأعداد الصحيحة و يؤدي إلى أعداد صحيحة.


أرز. 1 عداد مكون من أربعة أرقام

قم بتركيب جميع أجزاء العداد على لوحة اللوح.

قم بتوصيل مصابيح LED أو المؤشرات الأخرى بالمخرجات المباشرة لجميع المشغلات بحيث يمكنك مراقبة الحالات المنطقية للمشغلات بشكل مرئي. يتم تنفيذ وظيفة مصدر نبضات عد المدخلات طويلة الأمد بواسطة مشغل RS مُجمَّع على عناصر منطقية 2I-NOT DD1.1 و DD1.2 ويتم التحكم فيها بواسطة زر SB1.

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

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

قم بإعداد جدول (الجدول 2) تكتب فيه الحالات المنطقية لمشغلات عداد النبض باستخدام رموز نظام الأرقام الثنائية. في عمود "العد" الموجود في أقصى اليسار، اكتب على الفور الأرقام التسلسلية لنبضات الإدخال من 0 إلى 15. في العمود الثاني على اليسار (Q1) اكتب الحالة المنطقية للمشغل الأول عند كل نبضة تالية، في العمود الثالث العمود (Q2) - الحالة المنطقية للمشغل الثاني، الخ. د.

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

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

عامل Bitwise كمشغل منطقي




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

الجدول 2

يفحص س1 س2 س3 س 4
0 0 0 0 0
1 1 0 0 0
2 0 1 0 0
3 1 1 0 0
4 0 0 1 0
5 1 0 1 0
6 0 1 1 0
7 1 1 1 0
8 0 0 0 1
9 1 0 0 1
10 0 1 0 1
11 1 1 0 1
12 0 0 1 1
13 1 0 1 1
14 0 1 1 1
15 1 1 1 1

الآن اضغط لفترة وجيزة على زر SB1 وحرره. في هذه الحالة، سوف يتحول التقليب RS من حالة الصفر إلى حالة الوحدة، وباستخدام جهد عالي المستوى عند الخرج المباشر، سوف يقوم بتحويل الزناد الأول للعداد إلى نفس الحالة. ونتيجة لذلك، سيتم تشغيل مصباح LED HL1. ستبقى مشغلات العداد المتبقية في حالة الصفر، وبالطبع، يجب ألا تضيء مصابيح LED الخاصة بها.

تخزين بيانات منطقية متعددة

في الواقع، خلال هذا التحول، يجب الحفاظ على العلامة. ويبين الشكل 31 مثل هذا التحول. يمكنك أن ترى أن بعض المعلومات قد فقدت: الرقم الممثل لم يعد هو نفسه! دعونا ننهي هذا الفصل برؤية مثال عملياستخدام عوامل معالجة البت: لنفترض أنك تحتاج إلى ثمانية قيم منطقية في البرنامج. أحد الحلول هو الإعلان عن ثمانية متغيرات منطقية. الحل الآخر هو استخدام متغير بايت واحد واستخدام كل بت منه كقيمة منطقية.

سجل حالة المشغلات هذه في الجدول: في العمود Ql-1، في الباقي - 0. اضغط على زر SB1 مرة ثانية، لمحاكاة نبضة إدخال ثانية. سوف ينطفئ مؤشر LED الأول على الفور، وسيتم تشغيل المصباح الثاني - HL2. الآن المشغل الثاني في حالة الوحدة، والباقي في حالة الصفر. اكتب هذه الحالات المنطقية المتقلبة في السطر المقابل لنبضة الإدخال الثانية.

ستعمل نبضة الإدخال الثالثة مرة أخرى على ضبط مشغل العداد الأول على الحالة الفردية ولن تغير حالة المشغل الثاني، وبالتالي ستضيء مؤشرات HL1 وHL2. في الجدول، اكتب حالة العداد بالشكل التالي: 1100. عند نبض الإدخال الرابع، سيضيء مصباح HL3 LED فقط، ويجب أن يظهر الإدخال 0010 في الجدول.

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

دعونا نلخص.

إن التقليب الأول للعداد الرئيسي الخاص بك هو البت الأقل أهمية، والرابع هو البت الأكثر أهمية في العداد ذو الأربع بتات.

يمكن بالطبع إجراء تجارب مماثلة مع المخرجات المقابلة باستخدام عداد رباعي البتات على قلاب D، وربط مخرجاتها العكسية بمدخلات D بحيث تعمل القلابات في وضع العد.


من المفيد إجراء مثل هذه الدراسة باستخدام الدائرة الدقيقة K155IE2. بعد تشغيله حسب الرسم البياني الموضح في الشكل. 2، يمكنك إنشاء جدول لحالات الكود لعداد النبض هذا من 0 إلى 9.

أرز. 2 تجربة مع شريحة K155IE2

كما تعلم، فإن الحد الأقصى للرقم العشري الذي يمكن التعبير عنه بثنائي مكون من أربعة أرقام هو -15. وماذا لو كان هذا الرقم مكونًا من ثلاثة أرقام، على سبيل المثال 137؟ في الكود الثنائي سيبدو مرهقًا وغير مناسب دائمًا للمعالجة: 10001001. لذلك، في التكنولوجيا الرقمية، بالإضافة إلى الكود الثنائي، يستخدمون أيضًا الكود الثنائي العشري، حيث يتم تمثيل كل رقم من الرقم العشري في شكل ثنائي. في الكود العشري الثنائي، نفس الرقم المكون من ثلاثة أرقام 137 له الشكل التالي:

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

مفيد غير موقعة

الرموز الثنائية

النوع الأول من الرموز الثنائية الذي سننظر فيه هو رموز الأعداد الصحيحة غير الموقعة. للتأكد من ذلك، لنأخذ طول كلمة المعالج ليكون ثمانية بتات. في هذه الرموز، يمثل كل رقم ثنائي قوة 2:

في هذه الحالة، الحد الأدنى للرقم الذي يمكن كتابته بمثل هذا الرمز الثنائي هو 0. ويمكن تعريف الحد الأقصى للرقم الذي يمكن كتابته بمثل هذا الرمز الثنائي على النحو التالي:

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

الرموز الثنائية الموقعة مباشرة


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

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

وقعت رموز ثنائية معكوس.

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


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

رموز ثنائية مكملة موقعة.

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


نطاق الأرقام التي يمكن كتابتها بهذا الكود: -128 .. +127. بالنسبة للرمز المكون من ستة عشر بت، سيكون هذا النطاق: -32768 .. +32767. يستخدم المعالج ذو الثمانية بتات خليتي ذاكرة موجودتين في عناوين متجاورة لتخزين هذا الرقم.

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

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

1) لنجمع العددين 12 و 5

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

2) لنجمع رقمين سالبين -12 و -5

في هذا المثال، تتطابق علامة الحمل C أيضًا مع علامة النتيجة، أي أنه لم يحدث تجاوز في هذه الحالة أيضًا

3) جمع الأعداد الموجبة والسالبة -12 و +5

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

4) جمع الأعداد الموجبة والسالبة +12 و -5

في هذا المثال، علامة النتيجة إيجابية. تتطابق علامة الحمل مع علامة النتيجة، لذلك لم يكن هناك تجاوز في هذه الحالة أيضًا.

5) لنجمع العددين 100 و 31

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

في هذا المثال، نتيجة للعملية على الأرقام السالبة نتيجة للجمع، تجاوز متغير ثمانية بت، لأن وكانت النتيجة إيجابية. وفي هذه الحالة، إذا نظرنا إلى علامة الحمل C، فهي لا تتطابق مع علامة النتيجة. الفرق عن الحالة السابقة هو فقط في مزيج هذه البتات. في المثال 5 نتحدث عن تجاوز النتيجة (المجموعة 01)، وفي المثال 6 نتحدث عن مكافحة تجاوز النتيجة (المجموعة 10).

الأدب:

أنواع أخرى من الرموز الثنائية:

في بعض الأحيان يكون من المناسب تخزين الأرقام في ذاكرة المعالج في شكل عشري
http://site/proc/DecCod.php

تنسيقات أرقام الفاصلة العائمة القياسية لأجهزة الكمبيوتر ووحدات التحكم الدقيقة
http://site/proc/float/

تمثيل النصوص في ذاكرة أجهزة الكمبيوتر والمتحكمات الدقيقة
http://site/proc/text.php

حاليًا، يتم استخدام أنظمة الأرقام الموضعية وغير الموضعية على نطاق واسع في التكنولوجيا وفي الحياة اليومية.
.php



glvpom.ru - المحطات الفرعية. إلكترونيات الطاقة. علم البيئة. الهندسة الكهربائية