0Pricing
Coding Interview Prep · درس

‏AND وOR وXOR والإزاحات

قراءة البتات ودمجها بثقة

‏AND وOR وXOR والإزاحات درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

البتات هي أدواتك

كل عدد صحيح هو في الحقيقة سلسلة من البتات، مكوّنة من 0 و1 فقط. يمنحك تعلم قراءتها ودمجها حيلًا سريعة وذكية في المسابقات. 🔧

اعرض التمثيل الثنائي

استخدم bin() لإلقاء نظرة على بتات أي عدد في Python. تشير البادئة 0b فقط إلى أن العدد ثنائي، أما الباقي فهو نمط البتات.

print(bin(13))  # 0b1101

يحافظ AND على البتات المشتركة

يعطي عامل AND (&) القيمة 1 فقط عندما يكون كلا العددين محتويًا على 1 في الموضع نفسه. وهو مثالي لفحص البتات المشتركة أو تطبيق قناع عليها.

print(6 & 3)  # 0b110 & 0b011 = 0b010 = 2

يدمج OR البتات

يعطي عامل OR (|) القيمة 1 في كل موضع يحتوي فيه أي من العددين على 1. استخدمه لتفعيل الرايات من دون التأثير في بقية البتات.

print(6 | 1)  # 0b110 | 0b001 = 0b111 = 7

يكشف XOR الاختلافات

يعطي عامل XOR (^) القيمة 1 عندما يختلف البتان. وهو مفضّل في المسابقات للتبديل والعثور على العنصر المختلف.

print(6 ^ 3)  # 0b110 ^ 0b011 = 0b101 = 5

يلغي XOR نفسه

يكون XOR العدد بنفسه مساويًا دائمًا لـ 0، كما أن XOR العدد مع 0 يتركه دون تغيير. وتشكّل خاصية الإلغاء الذاتي هذه أساس العديد من مسائل XOR.

print(7 ^ 7)  # 0
print(7 ^ 0)  # 7

اعثر على العدد الفريد

إذا ظهر كل عنصر مرتين باستثناء عنصر واحد، فطبّق XOR عليها جميعًا، وستختفي الأزواج. وما يبقى هو القيمة الفريدة.

ans = 0
for x in [4, 1, 2, 1, 2]:
    ans ^= x
print(ans)  # 4

يضاعف الإزياح إلى اليسار القيمة

يدفع الإزياح إلى اليسار البتات إلى الأعلى، ويضيف أصفارًا إلى اليمين. تضاعف كل إزاحة بمقدار واحد القيمة، كما يحدث عند الضرب في قوة للعدد 2.

print(3 << 2)  # 3 * 4 = 12

تقسم الإزاحة إلى اليمين القيمة

تسقط الإزاحة إلى اليمين البتات من الطرف الأيمن. تنصّف كل إزاحة بمقدار واحد القيمة، فتجري قسمة صحيحة على قوة للعدد 2.

print(20 >> 2)  # 20 // 4 = 5

أنشئ قوة للعدد 2

يؤدي إزياح 1 إلى اليسار بمقدار k إلى إنشاء القيمة 2 مرفوعة للقوة k فورًا. وهذه أنظف طريقة لإنشاء أقنعة ذات بت واحد.

print(1 << 5)  # 32

السرعة مهمة في المسابقات

تعمل العوامل البتية في خطوة واحدة سريعة، لذا قد يؤدي استبدال العمليات الحسابية بـ الإزاحات إلى تجاوز حد زمني حرج. أتقنها تمامًا. ⚡

تحقق سريع

حان وقت اختبار عوامل البتات لديك.

مراجعة: عوامل البتات

تعرفت إلى AND, OR, XOR والإزاحات: ادمج البتات وبدّلها وغيّر حجمها في خطوة واحدة سريعة. هذه هي اللبنات الأساسية لكل حيلة بتية ستأتي. 🎉

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

هل درس «‏AND وOR وXOR والإزاحات» مجاني؟

نعم — نص درس «‏AND وOR وXOR والإزاحات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

ماذا ستتعلم في «‏AND وOR وXOR والإزاحات»؟

قراءة البتات ودمجها بثقة تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟

لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «‏AND وOR وXOR والإزاحات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟

نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏AND وOR وXOR والإزاحات
  2. تعيين البت ومسحه وتبديله
  3. عدّ البتات وأدنى بت معيّن
  4. أقنعة البتات كمجموعات صغيرة
← العودة إلى Coding Interview Prep