ما هي حاسبة المتمم الثنائي؟
حاسبة المتمم الثنائي (2's Complement) أداة تحوّل الأرقام بين الأنظمة العشري والثنائي والست عشري، وتوضّح في الوقت نفسه كيف تُمثَّل القيم السالبة داخل الحاسوب. يُعدّ المتمم الثنائي الطريقة القياسية التي تعتمدها جميع المعالجات الحديثة تقريبًا لتخزين الأعداد الصحيحة ذات الإشارة، ولذلك فإن استيعابه أمر أساسي للمبرمجين وطلاب الإلكترونيات وكل من يتعامل مع المنطق الرقمي. تتيح لك هذه الأداة إدخال رقم بأي نظام عددي، واختيار عرض البت (8 أو 16 أو 32 بت)، ثم مشاهدة تمثيل المتمم الثنائي مع قيمته العشرية في الحال.
كيفية استخدام الحاسبة
- أدخل رقمك في حقل الإدخال — فهو يقبل الأنظمة العشري والثنائي والست عشري.
- حدّد نظام الإدخال إذا لزم الأمر.
- اختر عرض البت: 8 بت أو 16 بت أو 32 بت.
- اقرأ النتائج: تظهر القيمة الثنائية والست عشرية والعشرية ذات الإشارة تلقائيًا.
لعرض البت أهمية كبيرة لأنه يحدد نطاق القيم التي يمكن تخزينها. فعلى سبيل المثال، يستوعب العدد الصحيح ذو الإشارة بحجم 8 بت قيمًا من -128 إلى 127، بينما يمتد نطاق القيمة بحجم 16 بت من -32,768 إلى 32,767.
شرح المعادلة
لإيجاد المتمم الثنائي لعدد ثنائي، اتبع خطوتين:
- اعكس كل بت (حوّل كل 0 إلى 1 وكل 1 إلى 0). هذا ما يُسمى المتمم الأحادي (1's complement).
- أضف 1 إلى الناتج.
يعمل البت الموجود في أقصى اليسار كبت إشارة: القيمة 0 تعني موجبًا، والقيمة 1 تعني سالبًا. المعادلة العامة هي:
$$\text{Twos Complement} = \left(\sim \text{Number}_{\,2}\right) + 1 \pmod{2^{\text{Bit Width}}}$$ولتحويل عدد عشري سالب إلى المتمم الثنائي، تكون المعادلة \(2^{n} + \text{القيمة}\)، حيث \(n\) هو عرض البت.
مثال تطبيقي
تحويل العدد -5 إلى متمم ثنائي بحجم 8 بت:
- ابدأ بالعدد +5 في النظام الثنائي:
0000 0101. - اعكس البتات:
1111 1010. - أضف 1:
1111 1011.
إذن يُخزَّن العدد -5 على الصورة 1111 1011، وهو ما يساوي FB في النظام الست عشري. للتحقق: \(251 - 256 = -5\) (القيمة بدون إشارة).
نطاقات الأعداد الصحيحة الموقعة حسب عرض البت
المكمل الثنائي هو الطريقة المعيارية التي تستخدمها الحواسيب لتمثيل الأعداد الصحيحة الموقعة. لعرض بت معين \(n\)، يعمل بت واحد كبت إشارة، لذا النطاق الصحيح القابل للتمثيل هو \(-2^{n-1}\) إلى \(2^{n-1}-1\)، بينما التفسير غير الموقع لنفس البتات يغطي من \(0\) إلى \(2^{n}-1\). تلتف جميع العمليات الحسابية بشكل دوري بمعامل \(2^{n}\).
| عرض البت \(n\) | الحد الأدنى الموقع \(-2^{n-1}\) | الحد الأقصى الموقع \(2^{n-1}-1\) | الحد الأقصى غير الموقع \(2^{n}-1\) | المعامل \(2^{n}\) |
|---|---|---|---|---|
| 8 | -128 | 127 | 255 | 256 |
| 16 | -32,768 | 32,767 | 65,535 | 65,536 |
| 32 | -2,147,483,648 | 2,147,483,647 | 4,294,967,295 | 4,294,967,296 |
| 64 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | 18,446,744,073,709,551,615 | 18,446,744,073,709,551,616 |
على سبيل المثال، المكمل الثنائي للعدد العشري 5 في شكل 8 بت هو 251 عند قراءته كبايت غير موقع، والذي يمثل \(-5\) كقيمة موقعة.
مرجع عشري-ثنائي-سادس عشري للقيم الشائعة 8 بت
الجدول التالي يربط قيم عشرية موقعة تمثيلية بأشكالها الثنائية والسادسة عشرية بنظام المكمل الثنائي 8 بت. الأعداد السالبة لديها البت الأكثر أهمية مضبوطاً على 1. لنفي قيمة، اقلب جميع البتات 8 وأضف 1.
| الرقم العشري الموقع | البت الثنائي 8 | سادس عشري | القيمة غير الموقعة |
|---|---|---|---|
| -128 | 1000 0000 | 0x80 | 128 |
| -64 | 1100 0000 | 0xC0 | 192 |
| -5 | 1111 1011 | 0xFB | 251 |
| -1 | 1111 1111 | 0xFF | 255 |
| 0 | 0000 0000 | 0x00 | 0 |
| 1 | 0000 0001 | 0x01 | 1 |
| 5 | 0000 0101 | 0x05 | 5 |
| 64 | 0100 0000 | 0x40 | 64 |
| 127 | 0111 1111 | 0x7F | 127 |
للتحقق من شكل ثنائي بشكل مستقل، يمكنك تحويل نمط البتات 8 11111011 مرة أخرى إلى رقم عشري، الذي يساوي 251 كبايت غير موقع (يُفسر كـ \(-5\) موقع).
المصطلحات الرئيسية والتعاريف
- عرض البت
- عدد الأرقام الثنائية المستخدمة لتخزين عدد صحيح (عادة 8، 16، 32، أو 64). يحدد المعامل \(2^{n}\) وبالتالي نطاق القيم القابلة للتمثيل.
- بت الإشارة
- البت الوحيد الذي يشير إلى ما إذا كان الرقم الموقع سالباً (1) أم غير سالب (0). في المكمل الثنائي، يكون هو البت الأعلى ترتيباً.
- البت الأكثر أهمية (MSB)
- البت الأيسر ذو القيمة الأعلى في الرقم الثنائي. في قيمة المكمل الثنائي الموقعة، يعمل البت الأكثر أهمية أيضاً كبت إشارة.
- مكمل واحد
- انقلاب حسب البتات لرقم — كل 0 يصبح 1 وكل 1 يصبح 0 (\(\overline{B}\)). إنها الخطوة الوسيطة قبل إضافة 1 لتشكيل المكمل الثنائي.
- المكمل الثنائي
- ترميز الأعداد الصحيحة الموقعة السائد: نفي قيمة بقلب جميع البتات وإضافة 1، أي \(\overline{B}+1 \pmod{2^{n}}\). يعطي تمثيلاً وحيداً للصفر ويسمح بإجراء عمليات إضافة على الأعداد الموقعة وغير الموقعة باستخدام نفس الأجهزة.
- تجاوز / التفاف
- ما يحدث عندما تتجاوز النتيجة النطاق القابل للتمثيل لعرض البت؛ تلتف القيمة بشكل دوري بمعامل \(2^{n}\). على سبيل المثال، إضافة 1 إلى الحد الأقصى 8 بت 127 يلتف إلى -128.
- عدد صحيح موقع مقابل غير موقع
- يمكن للعدد الصحيح الموقع أن يمثل الأعداد السالبة باستخدام المكمل الثنائي (النطاق \(-2^{n-1}\) إلى \(2^{n-1}-1\))؛ يعامل العدد الصحيح غير الموقع كل نمط بتات كقيمة غير سالبة (النطاق من \(0\) إلى \(2^{n}-1\)). البتات متطابقة — يختلف التفسير فقط.
الأسئلة الشائعة
لماذا تستخدم الحواسيب المتمم الثنائي؟ لأنه يسمح للجمع والطرح باستخدام الدوائر الإلكترونية نفسها، كما أن للصفر تمثيلًا واحدًا فقط، على عكس نظامي الإشارة والمقدار والمتمم الأحادي.
ماذا يحدث إذا كان رقمي أكبر من أن يتسع في عرض البت؟ تحدث حالة فيضان (overflow) وتلتفّ القيمة، فينتج عنها ناتج غير متوقّع. اختر عرض بت أكبر لتفادي ذلك.
كيف أحوّل القيمة مرة أخرى إلى عدد عشري عادي؟ إذا كان بت الإشارة يساوي 1، خذ المتمم الثنائي مرة أخرى وأضف إشارة سالبة؛ أما إذا كان يساوي 0، فاقرأ القيمة كعدد ثنائي عادي.