تخطَّ إلى المحتوى

حاسبة النظام الثنائي

اكتب عددين ثنائيين لتحصل على المجموع أو الفرق أو الناتج أو الخارج، مع الحمل والاستلاف والنواتج الجزئية وخطوات القسمة الطويلة مرتبةً عمودًا عمودًا. انتقل إلى الوضع البتّي لتطبيق AND وOR وXOR وNOT والإزاحات والتدوير على عرض من 4 إلى 128 بتًا. مجانية دون تسجيل، ولا شيء يغادر متصفحك.

نوع العملية

أرقام ثنائية فقط، مع إشارة سالبة اختيارية في البداية. تُتجاهل المسافات والشرطات السفلية، فـ 1011 0110 مقبولة.

النتيجة

1 0010

ثنائي

18

عشري

12

سداسي عشري

22

ثماني

5 بتات

الطول

خطوات الحل

جمع بالأعمدة مع الحمل
الصف43210
الحمل الداخل11010
A01101
B00101
المجموع10010

كيفية استخدام حاسبة النظام الثنائي

  1. 1. اختر نوع العملية. الحسابية تجمع أو تطرح أو تضرب أو تقسم. أما البتّية فتعمل على البتات الفردية لأنماط ذات عرض ثابت.
  2. 2. أدخل عددك. استخدم 0 و1 فقط. الإشارة السالبة في البداية، والبادئة 0b، والمسافات، والشرطات السفلية كلها مقبولة، فـ 1011 0110 يُقرأ عددًا واحدًا.
  3. 3. اختر العرض (للعمليات البتّية فقط). لا معنى لـ NOT والإزاحات والتدوير دون عرض، لذا تطلب الحاسبة عرضًا: 4 أو 8 أو 16 أو 32 أو 64 أو 128 بتًا.
  4. 4. اقرأ الناتج وخطوات الحل. تظهر الإجابة بالنظام الثنائي والعشري والسداسي عشر والثماني، مع خطوات الأعمدة أسفلها.

كيف يعمل الجمع الثنائي

يتبع الجمع الثنائي قواعد الأعمدة نفسها في الجمع العشري، لكن العمود يفيض عند 2 بدلًا من 10. اجمع البتين في العمود مع أي حمل قادم من اليمين. فإن كان المجموع 0 أو 1 فاكتبه. وإن كان 2 أو 3 فاكتب البت المنخفض (0 أو 1) واحمل 1 إلى العمود التالي.

الحالات الأربع لعمود واحد
مجموع العمودالبت المكتوبالحمل الخارج
0 + 0 + 0 = 000
1 + 0 + 0 = 110
1 + 1 + 0 = 10 (2)01
1 + 1 + 1 = 11 (3)11

خذ 1101 (13) زائد 101 (5). تملأ الحاسبة العددين بأعمدة حتى خمسة، وتعرض الحمل الوارد إلى كل عمود — 11010 من اليسار إلى اليمين — فيكون الناتج 10010، أي 18. وصف الحمل هو الجزء الذي يفقده الناس عادةً عند الجمع يدويًا.

الطرح والضرب والقسمة

الطرح يسير في الاتجاه المعاكس: حين يحتاج العمود إلى 1 − 1 − 1 أو 0 − 1، يستلف 1 من العمود الذي على يساره، وقيمته هنا 2. يُظهر 1000 − 0011 استلافًا ينتشر عبر ثلاثة أعمدة، وينتهي إلى 0101 (8 − 3 = 5). وحين يكون A أصغر من B، تطرح الحاسبة الأصغر من الأكبر، وتعطي الناتج إشارة سالبة.

الضرب إزاحة وجمع. كل 1 في المُضاعِف يساهم بنسخة من المضروب مُزاحةً يسارًا بمقدار موضع ذلك البت، أما الصفر فلا يساهم بشيء. في 1011 × 101 (11 × 5)، تقع الـ1 في الموضعين 0 و2، فتكون النواتج الجزئية 1011 و101100، ومجموعهما 110111 — أي 55.

القسمة قسمة طويلة مع خطوة تخمين سهلة جدًا. أنزل بتًا واحدًا من المقسوم في كل مرة؛ فإن كان المقسوم عليه يدخل فيما لديك، فاطرحه واكتب 1 في الخارج، وإلا فاكتب 0. يعطي 1100100 ÷ 111 (100 ÷ 7) خارجًا قدره 1110 (14) وباقيًا قدره 10 (2). ومع المعاملات السالبة يُقطع الخارج نحو الصفر، ويأخذ الباقي إشارة A، كما في C وJava وJavaScript.

عمليات بتّية بعرض تختاره

عمليات بتّية على مدخلين
ABANDORXORNANDNORXNOR
00000111
01011100
10011100
11110001

مع 1100 و1010 بعرض 4 بتات، تعطي AND الناتج 1000، وOR الناتج 1110، وXOR الناتج 0110. تقلب NOT كل بت داخل العرض، فيتحول 1100 نفسه إلى 0011 بعرض 4 بتات، لكنه يصبح 11110011 بعرض 8 بتات — ولهذا يهم العرض.

الإزاحة اليسرى بمقدار n تنقل كل بت n موضعًا إلى أعلى وتملأ الفراغ بأصفار؛ والبتات التي تسقط من أعلى تضيع، وتعرضها الحاسبة. الإزاحة اليمنى المنطقية تملأ بأصفار. الإزاحة اليمنى الحسابية تنسخ البت الأعلى، فيبقى العدد السالب سالبًا: فـ 10110110 مُزاحًا يمينًا بمقدار 2 يكون 00101101 منطقيًا، لكنه 11101101 (−19) حسابيًا. أما التدوير فيعيد البتات التي تسقط من أحد الطرفين إلى الطرف الآخر، فلا يضيع شيء.

لا فيض في الوضع الحسابي

الحساب هنا دقيق بأي طول، فـ 11111111 + 1 تساوي 100000000 لا 0. أما الأجهزة الحقيقية فتحتفظ بعدد ثابت من البتات وتلتف حوله. ولرؤية هذا السلوك ونطاقات الأعداد الموقعة المرتبطة به، استخدم حاسبة المكمّل الثنائي.

أخطاء شائعة

  • نسيان الحمل إلى أقصى العمود الأيسر. جمع عددين من 8 بتات قد ينتج ناتجًا من 9 بتات. وتحتفظ الحاسبة بالعمود الإضافي.
  • الخلط بين الإزاحة اليمنى المنطقية والحسابية. تتفقان في الأعداد الموجبة وتختلفان في أي نمط يكون بته الأعلى 1. وتختلف اللغات: فـ >>> في Java منطقية و>> حسابية، بينما تترك C الإزاحة >> على قيمة موقعة سالبة للمترجم (وهي حسابية في المترجمات الشائعة).
  • قراءة نمط بتات كعدد موقّع بالخطأ. 11110011 تساوي 243 بلا إشارة، و−13 في المكمّل الثنائي. تعرض النتائج البتّية الاثنين حتى تعرف أيهما تقصد.
  • افتراض أن NOT لا تعتمد على العرض. في عدد صحيح غير محدود تكون NOT للعدد 12 هي −13. أما داخل عرض ثابت فهي نمط المكمّل، وهو ما تعيده هذه الحاسبة.

الأسئلة الشائعة

كيف أجمع الأعداد الثنائية؟
ابدأ من أقصى العمود الأيمن نحو اليسار، واجمع البتين والحمل إن وُجد. يُكتب مجموع العمود 0 أو 1 كما هو؛ ومجموع 2 يُكتب 0 مع حمل 1، ومجموع 3 يُكتب 1 مع حمل 1. مثلًا 1101 + 101 = 10010. وتعرض الحاسبة الحمل الداخل إلى كل عمود.
كيف أطرح الأعداد الثنائية؟
اطرح عمودًا بعمود من اليمين. وحين يكون العمود أقل من الصفر، استلف 1 من العمود الذي على يساره، فيُضاف 2 إلى العمود الحالي. وإذا كان العدد الثاني أكبر، فاطرح بالترتيب المعكوس واجعل الناتج سالبًا. 1000 − 11 = 101 (8 − 3 = 5).
ما الفرق بين الإزاحة اليمنى المنطقية والحسابية؟
تملأ الإزاحة اليمنى المنطقية البتات العليا الفارغة بأصفار، فتعامل النمط عددًا بلا إشارة. أما الإزاحة اليمنى الحسابية فتنسخ البت العلوي الأصلي، فيبقى العدد السالب في المكمّل الثنائي سالبًا. وكلتاهما تنصّف القيمة، لكن الإزاحة الحسابية وحدها تحافظ على صحة القيم السالبة.
ماذا تفعل AND وOR وXOR؟
تقارن نمطين من البتات عمودًا بعمود. تعطي AND الناتج 1 فقط حين يكون البتان كلاهما 1، وتعطي OR الناتج 1 حين يكون واحد منهما على الأقل 1، وتعطي XOR الناتج 1 حين يكون واحد فقط 1. تُستخدم AND لإخفاء بتات، وOR لتشغيل بتات، وXOR لقلبها أو للمقارنة بحثًا عن الفروق.
هل تتعامل هذه الحاسبة مع الأعداد الثنائية السالبة؟
في الوضع الحسابي نعم: ضع إشارة سالبة أمام العدد، وتُطبَّق قواعد الإشارة على الناتج الدقيق. أما الوضع البتّي فيقبل أنماط بتات عادية، لأن نمط العدد السالب يعتمد على العرض. استخدم حاسبة المكمّل الثنائي لإيجاد نمط قيمة سالبة.
ما أكبر عدد ثنائي يمكنني إدخاله؟
لا يوجد حد ثابت، لأن الحساب يعتمد على أعداد صحيحة بدقة اعتباطية. ويُرسم عمود الحل للمعاملات حتى 64 بتًا؛ وما يزيد على ذلك تحصل معه على الناتج الدقيق دون جدول الخطوات. أما العمليات البتّية فتقتصر على العرض المختار، حتى 128 بتًا.

أدوات ذات صلة

المزيد في البيانات ولغات الترميز والبرمجة