حاسبة الأرقام الثنائية

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



محوّل الأنظمة العددية


عمليات حسابية على الأرقام الثنائية

جدول القيم المكانية الثنائية (مرجع توضيحي)

كل خانة في الرقم الثنائي تمثل قوة من قوى العدد 2. الجدول التالي يوضح القيم المكانية لثمانية بتات (بايت واحد):

1286432168421
10011100

الصف أعلاه يمثل 10011100 = 128+16+8+4 = 156. لاحظ أن أقصى اليسار هو أعلى قيمة مكانية (128) وأقصى اليمين هو أدناها (1)، تماماً كخانات الآحاد والعشرات والمئات في النظام العشري.


ما هو النظام الثنائي ولماذا يستخدمه الحاسوب؟

النظام الثنائي (Binary) هو نظام عد أساسه 2، أي أنه لا يستخدم سوى رمزين اثنين: 0 و1. اختار المهندسون هذا النظام لبناء الحواسيب لأن الدارات الإلكترونية تستطيع بسهولة تمييز حالتين فقط: تيار كهربائي (1) أو عدم وجوده (0)، بينما يصعب تصنيع دارات تميّز بدقة بين عشر مستويات جهد مختلفة كما يتطلبه النظام العشري.

القاعدة الرياضية بسيطة: أي رقم ثنائي يساوي مجموع حاصل ضرب كل خانة (0 أو 1) في قيمة منزلتها، وهي قوة للعدد 2 حسب موقعها من اليمين بدءاً من 2⁰:

القيمة = (الرقم × 2^الموضع) لكل خانة، ثم جمع النواتج

مثلاً 1011 (من اليسار لليمين) = (1×2³)+(0×2²)+(1×2¹)+(1×2⁰) = 8+0+2+1 = 11. الحاسبة أعلاه تقوم بهذا التحويل تلقائياً، وتدعم أيضاً التحويل من وإلى السداسي عشري والثماني، لأن الثلاثة أنظمة (ثنائي، ثماني، سداسي عشري) هي في الأصل اختصارات مختلفة لنفس الفكرة الثنائية.

أين يُستخدم النظام الثنائي فعلياً؟

في هندسة الحاسوب والبرمجيات:

  • تمثيل البيانات في الذاكرة: كل ملف وكل متغيّر مخزّن فعلياً كسلسلة من الأصفار والآحاد داخل ذاكرة الحاسوب
  • العمليات المنطقية (Bitwise): لغات البرمجة تستخدم عمليات AND وOR وXOR مباشرة على مستوى البتات لتسريع الحسابات
  • ضغط البيانات والتشفير: خوارزميات الضغط والتشفير الحديثة تتلاعب بالبتات الثنائية مباشرة لتحقيق الكفاءة

في الشبكات والاتصالات:

  • عناوين IP وأقنعة الشبكة الفرعية: فهم Subnetting يتطلب تحويل عناوين IP إلى صيغتها الثنائية لتحديد نطاقات الشبكات
  • بروتوكولات النقل: رؤوس الحزم (Packet Headers) تُبنى وتُفكّك على مستوى البتات الفردية

في الإلكترونيات الرقمية:

  • بوابات المنطق الرقمي: تصميم المعالجات يعتمد بالكامل على جداول الحقيقة الثنائية للبوابات المنطقية
  • أنظمة التحكم والاستشعار: الإشارات الرقمية (تشغيل/إيقاف) هي في جوهرها قيم ثنائية

في أمن المعلومات:

  • صلاحيات الملفات والأعلام (Flags): العديد من أنظمة الصلاحيات تُمثَّل كأعلام ثنائية يتم دمجها بعمليات منطقية
  • خوارزميات التشفير: معظم خوارزميات التشفير الحديثة تعمل على كتل بتات ثنائية بأحجام ثابتة
جداول الحقيقة للعمليات المنطقية الأساسية

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

ABA AND BA OR BA XOR B
00000
01011
10011
11110
💡 ملاحظة: هذه الجداول ليست نظرية فقط؛ كل معالج في هاتفك أو حاسوبك ينفّذ ملايين هذه العمليات كل ثانية.
أمثلة عملية محلولة بالكامل

مثال 1: تحويل العدد 156 من عشري إلى الأنظمة الأخرى

156 = 128 + 16 + 8 + 4، إذن الثنائي هو 10011100. بالقسمة المتكررة على 16: 156 = 9×16 + 12، والباقي 12 يرمز إليه بالحرف C، فيكون السداسي عشري 9C. وبالقسمة المتكررة على 8 نحصل على الثماني 234.

مثال 2: جمع ثنائي 1010 + 1101

1010 = 10 و1101 = 13 بالعشري. مجموعهما = 23، وبالثنائي 10111 (لأن 16+4+2+1 = 23).

مثال 3: ضرب ثنائي 101 × 110

101 = 5 و110 = 6 بالعشري. حاصل ضربهما = 30، وبالثنائي 11110 (لأن 16+8+4+2 = 30).

مثال 4: قسمة ثنائية بباقٍ 1111011 ÷ 1010

1111011 = 123 و1010 = 10 بالعشري. 123 ÷ 10 = 12 والباقي 3، إذن الخارج بالثنائي 1100 والباقي 11.

نصائح وأخطاء شائعة عند التعامل مع الثنائي
  • لا تخلط اتجاه القراءة: الخانة اليسرى هي الأعلى قيمة (تماماً كخانة الآلاف في العشري)، وليس العكس
  • تحقق من صحة الرموز: أي رمز غير 0 أو 1 في الثنائي، أو غير 0-7 في الثماني، يجعل القيمة غير صالحة فوراً
  • القسمة قد لا تكون تامة: تعامل مع الخارج والباقي كوحدة واحدة عند التفسير، تماماً كقسمة الأعداد الصحيحة العشرية
  • الفرق بين البادئات: 0b تعني ثنائي، 0x تعني سداسي عشري، 0o تعني ثماني في أغلب لغات البرمجة، ولا يجوز الخلط بينها
⚠️ خطأ شائع: افتراض أن رقماً ثنائياً طويلاً يعني بالضرورة قيمة عشرية كبيرة جداً؛ فمثلاً 100000000 (8 أصفار بعد الواحد) يساوي فقط 256 بالعشري رغم طول الرقم الظاهري.

أسئلة متكررة

كيف أحوّل رقماً ثنائياً إلى عشري؟

اضرب كل رقم (0 أو 1) في قيمة منزلته وهي قوة العدد 2 حسب موقعها من اليمين (2⁰، 2¹، 2²...)، ثم اجمع كل النواتج. مثلاً 1011 = (1×8)+(0×4)+(1×2)+(1×1) = 11. اختر "عشري" كنظام في الحاسبة وأدخل رقمك الثنائي لتحصل على الناتج فوراً مع بقية الأنظمة.

لماذا تظهر القسمة الثنائية باقياً أحياناً؟

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

ما الفرق بين النظام الثنائي والسداسي عشري؟

النظام الثنائي يعتمد على رمزين فقط (0 و1) وهو التمثيل الفعلي داخل الحاسوب، بينما السداسي عشري يعتمد على 16 رمزاً (0-9 وA-F) ويُستخدم كاختصار مقروء لكل 4 بتات ثنائية دفعة واحدة، لأن كل رقم سداسي عشري واحد يقابل بالضبط 4 خانات ثنائية.

هل يمكن للحاسبة التعامل مع أرقام ثنائية طويلة جداً؟

نعم، الحاسبة تستخدم تقنية الأعداد الصحيحة الكبيرة (BigInt) التي تحافظ على الدقة الكاملة مهما طال الرقم، بعكس الحسابات العادية التي قد تفقد دقتها مع الأرقام الكبيرة جداً. وضعنا حداً أقصى 64 رمزاً لكل رقم لضمان استجابة سريعة وسلسة للحاسبة.

كيف أحوّل من ثماني إلى ثنائي مباشرة؟

أسهل طريقة هي استخدام الحاسبة مباشرة: اختر "ثماني" كنظام الإدخال وستحصل على المكافئ الثنائي فوراً. يدوياً، حوّل كل رقم ثماني إلى ما يقابله من 3 خانات ثنائية (لأن 2³ = 8)، ثم اجمعها معاً بالترتيب.

ماذا يحدث عند طرح رقم ثنائي أكبر من الآخر؟

إذا كان الرقم الثاني أكبر من الأول، فسيكون الناتج سالباً. الحاسبة تعرضه بإشارة سالبة أمام القيمة الثنائية والعشرية، وهذا تمثيل مبسّط للإشارة وليس تمثيل المتمم الثنائي (Two's Complement) المستخدم داخل المعالجات الفعلية.

هل تعمل الحاسبة على الهاتف؟

نعم تماماً. الحاسبة متجاوبة بالكامل مع الهواتف والأجهزة اللوحية، والنتائج تُحدَّث تلقائياً فور كتابة أي رقم دون الحاجة لتثبيت أي برنامج أو تطبيق إضافي.