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

طلب منا المستخدم Evgeniy إجراء ترجمة من الرموز المباشرة إلى الرموز الإضافية أو العكسية.

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

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

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

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

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

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

هكذا النظرية

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

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

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

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

رمز إضافيأرقام، أو تكملة اثنين (تكملة اثنين) هو رمز عكسي يضاف إليه رقم أقل أهمية

والآن "لماذا، لماذا كل هذا؟" ©

وهذا كله من أجل العمل المريح مع اللافتات. وبما أنني أحب أن أفهم كل شيء بالأمثلة، سأخبرك أيضًا بالأمثلة. لذلك، لنفترض أن لدينا 4 بتات للعمل مع الأرقام الثنائية. يمكنك تمثيل 16 رقمًا بهذه الطريقة - 0، 1، ... 15
00 - 0000
...
15 - 1111

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

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

ولكن إذا لم تكن هناك علامة، فإن الحساب يتبين أنه ضعيف. تحتاج إلى إدخال علامة. من أجل عدم الإساءة إلى أي شخص، سنعطي نصف النطاق للأرقام الإيجابية (8 أرقام)، نصف السلبي (أيضا 8 أرقام). نحن نصنف الصفر، الذي يميز الحساب الآلي عن الحساب العادي، كأرقام موجبة (في الحساب العادي، الصفر ليس له علامة، إذا لم أكن مخطئا). في المجمل، تتضمن الأرقام الموجبة 0،...،7، والأرقام السالبة -1،...، -8.

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

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

للتمييز بين الأرقام الموجبة والسالبة، يتم تمييز الرقم الأكثر أهمية من الرقم، وهو ما يسمى مبدع (بت التوقيع)
0 في هذا الرقم يخبرنا أنه رقم موجب، و1 - سالب.

يبدو كل شيء واضحًا مع الأرقام الموجبة، ويمكنك استخدام الكود المباشر لتمثيلها
0 - 0000
1 - 0001
7 - 0111

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

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

كيفية تمثيل الأرقام السالبة؟

لتمثيلهم يتم استخدام رمز إضافي.
أي أن -7 في الكود الإضافي يظهر هكذا
الرمز المباشر 7 = 0111
رمز الإرجاع 7 = 1000
الكود الإضافي 7 = 1001

يرجى ملاحظة أن الرمز المباشر 1001 يمثل الرقم 9، وهو بالضبط 16 بعيدا عن الرقم -7، أو .
أو، وهو نفس الشيء، الكود الإضافي للرقم "يكمل" الكود المباشر لـ ، أي. 7+9=16

نطاقات القيمة ملاحظة

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

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

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

بضعة أمثلة
7-3=4
0111 الكود المباشر 7
1101 كود إضافي 3
0100 نتيجة الإضافة 4

في هذا المثال يتبين أنه من أجل الحصول على الرقم يتم أخذ رمز كل موضع، فيضرب بالقاعدة المرفوعة إلى الموضع الذي يوجد فيه الرمز، بدءاً من الرقم 0، بمعنى آخر، يتم ضرب الرمز الموجود في الموضع صفر في 1، ويتم ضرب الرمز الموجود في الموضع الثاني في 10، ويتم ضرب رمز الموضع الثالث في 100، وما إلى ذلك.

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

1+7=6
1111 كود إضافي 1
0111 الكود المباشر 7
0110 نتيجة الإضافة 6

أما بالنسبة للفائض، فيتم تحديده بواسطة آخر حملين، بما في ذلك الحمل إلى ما بعد البت الأكثر أهمية. علاوة على ذلك، إذا كانت التحويلات 11 أو 00، فلم يكن هناك تجاوز، ولكن إذا كانت 01 أو 10، فقد حدث ذلك. في هذه الحالة، إذا لم يكن هناك تجاوز، فيمكن تجاهل التجاوز.

في المثال السابق، إذا بدأنا بـ 1 في الموضع 7، فإن القيمة الناتجة هي 127، وهي أكبر من 121، ولهذا السبب نبدأ بالرقم 1 في الموضع. ويلخص الجدول التالي الإجراء. ويسمى كل موضع من الرقم الثنائي أيضًا بالبت، وفي حالة المثال السابق، يتم تمثيل الرقم 121 بـ 7 بتات.

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

أمثلة حيث يتم عرض الواصلات والرقم الخامس

00111 الكود المباشر 7
00001 الكود المباشر 1
01110 تحويلات
01000 النتيجة 8 - الفائض

آخر تحويلين 01 - الفائض

7+7=0
00111 الكود المباشر 7
01001 كود إضافي 7
11110 تحويلات
10000 النتيجة هي 16 - ولكن يمكن تجاهل الرقم الخامس، والنتيجة الحقيقية هي 0

يحمل الرقمان الأخيران 11 ويمكن التخلص من الرقم الخامس؛ والنتيجة المتبقية، صفر، صحيحة حسابيًا.
مرة أخرى، يمكنك التحقق من الفائض باستخدام أبسط عملية XOR لبتتي حمل.

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

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

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

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

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

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

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

وإليك الإجابة على هذا السؤال المحير:

تمثيل الأعداد الصحيحة السالبة - تكملة اثنين. أدركت أنه إذا كان الرقم الأول 0 فالرقم موجب، وإذا كان 1 سالباً... ولكن كيف نحسب؟

لم أفهم ماذا أردت أن تفعل بالضبط؟

تعرف على كيفية كتابة التمثيل الثنائي لعدد سالب أم ماذا؟

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

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

على سبيل المثال، مثل هذا.

لدينا الرقم العشري -2013، وعلينا كتابته الكود الثنائي.

وبتحويل الرقم الموجب 2013 إلى النظام الثنائي نحصل على 11111011101.

نضيف أصفارًا إلى اليسار بحيث يكون هناك 16 بت (إذا كان الرقم ثنائي البايت)، لدينا 0000011111011101 (الكود المباشر).

نقوم بعكس جميع البتات (أي استبدال 0 بـ 1 و1 بـ 0)، لدينا 1111100000100010 (رمز عكسي).

في النظام الثنائي نضيف 1 إلى الرمز العكسي، لدينا 1111100000100011، هذه القيمة تساوي -2013.

يمكنك التحقق من ذلك باستخدام حاسبة Windows القياسية:

تقوم بتشغيل الآلة الحاسبة (البرامج - القياسية - الحاسبة)، في XP، تحدد عرض - هندسة من قائمة البرنامج، في "السبعة"، في رأيي، عرض - مبرمج، اكتب تعبيرًا ستكون الإجابة عليه بالسلبية المطلوبة رقم مثلا 0-2013 = -2013، قم بتبديل نظام الأرقام إلى ثنائي (Bin)، وسعة الرقم 2 بايت، ترى 1111100000100011.

أو لدينا على الفور رقم ثنائي سالب، على سبيل المثال، 1111111111101111 (البت الموجود في أقصى اليسار هو واحد، مما يعني سالبًا)... يشير "1" الأيسر إلى علامة "-"، وتجاهلها، واطرح 1 من الرقم الثنائي المتبقي، نحصل على 111111111101110، نستبدل جميع الأصفار بـ 1، والأصفار بالأصفار، نحصل على 000000000010001، وهذا هو العلامة العشرية 17. هذا يعني أن الرمز يعني -17.



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