كيف يفهم الحاسوب اللغة الثنائية (الصفر والواحد)

كيف يفهم الحاسوب اللغة الثنائية (الصفر والواحد)

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

الترانزستورات والدوائر المنطقية

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

تُجمع هذه الترانزستورات لبناء البوابات المنطقية (Logic Gates)، وهي دوائر إلكترونية تؤدي عمليات منطقية أساسية على القيم الثنائية. فكل بوابة منطقية لها مدخل أو أكثر ومخرج واحد، فتُنفذ عملية مثل AND أو OR أو NOT على المدخلات وتُخرج قيمة ثنائية واحدة. على سبيل المثال، بوابة AND تُخرج 1 فقط إذا كان كلا المدخلين 1، بينما بوابة OR تُخرج 1 إذا كان أحد المدخلين على الأقل 1. وبفضل البوابات المنطقية المكوّنة من الترانزستورات، يستطيع الحاسوب تنفيذ مهام معقدة كالجمع والطرح ومقارنة الأعداد وتنفيذ البرامج بالكامل باستخدام سلسلة من الأصفار والواحدات.

تحويل الأوامر البرمجية إلى الشيفرة الثنائية

عندما يكتب المبرمج أمرًا بلغة عالية المستوى (مثل C أو جافا أو بايثون)، لا يفهم الحاسوب هذا النص مباشرةً. بدلاً عن ذلك تُستخدم برامج المترجم (Compiler) أو المفسر (Interpreter) لتحويل الشفرة المكتوبة إلى لغة الآلة، وهي الشيفرة الثنائية التي ينفذها المعالج مباشرةً. في الوضع التقليدي للمترجم، يُحوّل البرنامج كاملاً دفعةً واحدة إلى ملف تنفيذي يحوي سلسلة من التعليمات الثنائية. أمّا في حالة المفسر فيتم تحويل كل جملة برمجية وتنفيذها في الحال جملةً جملةً. النتيجة النهائية لهذا التحويل تسمى لغة الآلة أو شفرة الهدف (Object Code)، وهي عبارة عن تعليمات ثنائية دقيقة يؤدي كل منها وظيفة محددة داخل المعالج.

كما توجد لغة التجميع (Assembly) التي تعبّر عن الشيفرة الثنائية بأوامر رمزية أقرب إلى فهم الإنسان، إلا أنها أيضًا تُحوَّل إلى ثنائيّات باستخدام برنامج خاص يُدعى المجمِّع (Assembler). بهذه الطرق يضمن الحاسوب أن كل أمر برمجي مهما كان مصدره ينتهي بالشكل الثنائي الأبسط الذي تفهمه دوائره الإلكترونية.

مثال توضيحي:

  • الحرف 'A' (كود ASCII = 65) يُمثَّل في النظام الثنائي بالسلسلة 01000001.

  • الرقم 5 (في النظام العشري) يصبح في النظام الثنائي 0101.

في هذه الأمثلة، يُحول الحاسوب أولاً الحرف أو الرقم إلى كود قياسي (مثل ASCII للحروف)، ثم يمثّل هذا الكود كسلسلة من البتات (الأصفار والواحدات) ليتم تخزينه ومعالجته إلكترونيًا.

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

حول المحتوى:

سنشرح في هذا المقال كيف يمكن للحاسوب أن يفهم لغة مبنية من رقمين فقط الصفر و الواحد.