تعتبر العمليات المنطقية الثنائية أساسية في عالم الحوسبة والإلكترونيات الرقمية. فهي لا تسمح بإجراء العمليات الحسابية ومعالجة البيانات فحسب، بل إنها أيضًا الأساس لتشغيل أجهزة الكمبيوتر الحالية. تم تصميم كل عملية للتعامل مع البتات، قيمتي 0 و 1، والتي تمثل حالة التشغيل والإيقاف للدوائر الكهربائية للأجهزة التي نستخدمها في حياتنا اليومية.
لقد تم استخدام مفهوم المنطق الثنائي لفترة طويلة، ولكن أهميته نمت بشكل كبير مع تطور التكنولوجيا الرقمية. في هذه المقالة، سوف نستكشف بعمق العمليات المنطقية المختلفة التي يمكن إجراؤها على مجموعة من البتات، وكيفية عملها، وأين يتم تطبيقها بشكل متكرر. سواء كنت طالبًا يواجه هذا الموضوع لأول مرة أو لديك بالفعل خبرة في هذا المجال، فستجد معلومات مفيدة ومفصلة.
دور المنطق الثنائي
المنطق الثنائي يعمل مع حالتين: 0 و 1وهو ما يتوافق مع الخطأ والصواب في المنطق الكلاسيكي. وهذا يسمح بمعالجة كميات كبيرة من البيانات في أنظمة الكمبيوتر والأجهزة الرقمية. تسمى العمليات التي يتم إجراؤها على هذه البتات العمليات المنطقيةوالتي تشكل قلب الجبر البولياني. تسمح هاتان الحالتان بتحديد الشروط التي يمكن التحقق منها ومعالجتها بواسطة الدوائر والبرامج بطريقة سريعة ودقيقة للغاية.
العمليات المنطقية الرئيسية
يتم تنفيذ العمليات المنطقية على الأرقام الثنائية شيئًا فشيئًا، أي أنه يتم تقييم كل بت على حدة مقابل نظيرتها في المدخلات الأخرى. يتم بعد ذلك دمج نتيجة كل بت لتكوين النتيجة النهائية للعملية. العمليات الأساسية الأكثر شيوعًا موضحة أدناه.
AND العملية (المنطقية AND)
عملية AND مسؤولة عن أخذ بتتين كمدخلات وتوليد مخرجات 1 فقط إذا كانت كلا بتات الإدخال 1. وبخلاف ذلك، سيكون الناتج 0. وبعبارة أخرى، يجب أن يكون كلا البتين صحيحين للحصول على نتيجة صحيحة.
مثال على العملية AND:
1010 و 1100 = 1000
في هذا المثال، تبقى فقط البتات الصحيحة على كلا المدخلين قيد التشغيل (أي أنها 1) في النتيجة.
عملية OR (منطقية OR)
من ناحية أخرى، تأخذ عملية OR وحدتين كمدخلات وستُرجع a 1 إذا كانت إحدى بتات الإدخال على الأقل هي 1. أي أنه إذا كان أحد الأمرين (أو كليهما) صحيحاً، فإن النتيجة ستكون صحيحة أيضاً.
مثال على عملية OR:
1010 أو 1100 = 1110
في هذه الحالة، أي بت صحيح على أحد المدخلين أو كليهما سيكون صحيحًا أيضًا على الإخراج.
لا عملية (منطقية لا)
تعتبر عملية NOT هي الأسهل، لأنها تحتاج إلى بت واحد فقط كمدخل. وتتمثل مهمتها في عكس قيمة بت الإدخال. هكذا، إذا كان الإدخال 0، فإن الإخراج سيكون 1والعكس صحيح.
ليس مثال العملية:
ليس 1010 = 0101
في هذا المثال، تم قلب جميع البتات في النتيجة.
عمليات منطقية إضافية
بالإضافة إلى العمليات الثلاثة الرئيسية، هناك عمليات منطقية أخرى أقل استخدامًا والتي تلعب أيضًا دورًا مهمًا في أنظمة وظروف معينة.
عملية NAND (منطقية NOT AND)
NAND عبارة عن مزيج من AND مع انعكاس NOT. سيتم إنشاء ناتج 1 كلما واحدة على الأقل من بتات الإدخال هي 0. سيُرجع 0 فقط إذا كانت كلا بتات الإدخال 1.
عملية NOR (منطقية NOT OR).
NOR هو عكس العملية OR. ويختلف بحيث تكون نتيجته 1 فقط إذا كانت كلا بتات الإدخال 0. وإلا فإنه سيعود 0.
عملية XOR (حصريًا OR).
XOR هي عملية منطقية تقوم بإرجاع 1 فقط إذا كانت بتات الإدخال مختلفة عن بعضها البعض. إذا كان كلاهما متساويين (كلاهما 0 أو كليهما 1)، فستكون النتيجة 0.
عملية XNOR (ليست حصرية O)
لدى XOR أيضًا نظير: XNOR. يقوم هذا العامل بإرجاع 1 إذا كانت بتات الإدخال متماثلة (كلاهما 0 أو كليهما 1)، وسيعيد 0 إذا كانت مختلفة.
أين يتم استخدام العمليات المنطقية الثنائية؟
العمليات المنطقية الثنائية شائعة جدًا في أنظمة الشبكات والإلكترونيات الرقمية والبرمجة. وعلى الرغم من أننا قد لا ندرك ذلك، إلا أن هذه العمليات تكون وراء العديد من الأنشطة اليومية التي نقوم بها باستخدام الأجهزة الإلكترونية.
أحد أوضح الأمثلة التي تستخدم فيها هذه العمليات هو عناوين IPv4. يتم تعيين عنوان IP وقناع الشبكة الفرعية لكل جهاز متصل بالشبكة. باستخدام عملية AND، تقوم الأجهزة بمقارنة عناوينها مع عناوين الأجهزة الأخرى لمعرفة ما إذا كانت تنتمي إلى نفس الشبكة أو ما إذا كان يجب إرسال البيانات التي يتم إرسالها إلى شبكة مختلفة.
مثال للاستخدام في IPv4:
عندما يقوم جهاز بمقارنة عنوانه بقناع الشبكة الفرعية:
عنوان IP: 11000000.10101000.00000001.00000001 الشبكة الفرعية: 11111111.11111111.11111111.00000000
وبتطبيق العملية AND شيئاً فشيئاً نحصل على ما يلي:
11000000.10101000.00000001.00000000
والنتيجة هي عنوان الشبكة الذي ينتمي إليه الجهاز.
أهمية جورج بول
المنطق الثنائي ومجموعة العمليات التي وصفناها لم تكن لتوجد كما نعرفها لولا عمل عالم الرياضيات جورج بول. ابتكر هذا العبقري في القرن التاسع عشر ما نعرفه باسم الجبر البوليني، الذي وضع الأسس الرياضية للعمليات البوليانية، وفي نهاية المطاف، للمنطق الثنائي الذي تُبنى عليه أجهزة الكمبيوتر والأنظمة الرقمية الحالية.
قدم بول مساهمته في وقت كانت فيه الرياضيات والمنطق يتبعان مسارات مختلفة. لقد غيرت رؤيته لتوحيد كلا التخصصين أسس ما نفهمه اليوم بالمنطق الرقمي.
عمليات البت
بالإضافة إلى العمليات المذكورة، فإن العمليات على مستوى البت لها تطبيقات عملية للغاية في معالجة البيانات. تسمح هذه العمليات التعامل مع وتعديل البتات الفردية من رقم ثنائي، والتي تعتبر ضرورية لتصفية البيانات، وتنفيذ إخفاء البتات، ومعالجة الأرقام في أنظمة أكثر موثوقية.
عملية AND على مستوى البت
دعونا نلقي نظرة أولاً على عامل التشغيل AND على مستوى البت. عملها بسيط للغاية: تأخذ كل زوج من البتات المقابلة بين رقمين وتطبق قواعد العملية AND لتحديد ما إذا كانت البتة في هذا الموضع ستكون 0 (إذا لم تكن كلا بتات الإدخال 1) أو ستكون 1 (إذا كلا بتات الإدخال هي 1).
مثال على عملية AND:
0101 و 0011 = 0001
استخدام الأقنعة لتصفية البتات باستخدام AND
في البرمجة الرقمية، يتم استخدام عامل التشغيل AND بشكل شائع مع أقنعة قليلا لتحديد أو تصفية بتات محددة. على سبيل المثال، إذا كنت تريد التحقق مما إذا كانت بتة معينة في تسلسل من البتات قيد التشغيل أو الإيقاف، فيمكنك إجراء عملية AND باستخدام قناع يحدد تلك البتة فقط.
مثال لقناع البت:
0011 و 0010 = 0010
في هذه الحالة، نحن نتحقق مما إذا كان الجزء الثاني قيد التشغيل. وبما أن النتيجة ليست صفرًا، فإننا نعلم أن البتة قيد التشغيل.
العمليات الأخرى مثل عامل التشغيل OR لها أيضًا تطبيقات واسعة عندما يتعلق الأمر بالعمل على مستوى البت.
عملية XOR بالبت
يتميز مشغل XOR بواحدة من أكثر ميزاته المفيدة في البرمجة ذات المستوى المنخفض من خلال السماح مبادلة القيم بين متغيرين دون استخدام متغير مؤقت. هذه الخدعة، المعروفة باسم تبادل XOR، فعالة للغاية وتستفيد من جدول الحقيقة الخاص بعامل XOR.
مثال تبادل XOR:
أ = XOR bb = XOR ba = XOR b
وبعد تنفيذ هذه العمليات الثلاث، تصبح قيمة a
y b
وسيتم تبادلها دون الحاجة إلى استخدام متغير ثالث.
التحولات والتناوبات في اتجاه البت
وأخيراً عمليات الإزاحة y تناوب إنها تسمح بنقل أجزاء الرقم إلى اليمين أو اليسار. تعتبر هذه العمليات مفيدة في العديد من المجالات، مثل التشفير ومعالجة البيانات في الأنظمة المدمجة.
الإزاحة المنطقية لليسار تعادل ضرب الرقم في 2، في حين أن الإزاحة المنطقية لليمين تعادل قسمة الرقم على 2.
مع التدوير من خلال الحمل، فإن البتات التي تخرج من جانب تعود إلى الجانب الآخر، وهو أمر مفيد لبعض خوارزميات التشفير وعلى أجهزة معينة.
في نهاية المطاف، يعد فهم هذه العمليات أمرًا أساسيًا للعمل بكفاءة في المجالات التي تتطلب معالجة مباشرة للبتات، مثل البرمجة منخفضة المستوى، أو تطوير الأنظمة المدمجة، أو تصميم الأجهزة الرقمية.