تصفح الدليل

ملخص Binary للمقابلات البرمجية

مقدمة

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

مصادر التعلم

الحالات الحدّية

  • انتبه إلى الطفح والطفح السفلي وتحقق منهما
  • الأعداد السالبة

تقنيات

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

بعض المقتطفات المساعدة المفيدة:

التقنيةالشيفرة
اختبار أن البت رقم k مضبوطnum & (1 << k) != 0
ضبط البت رقم knum |= (1 << k)
إطفاء البت رقم knum &= ~(1 << k)
قلب البت رقم knum ^= (1 << k)
الضرب في 2knum << k
القسمة على 2knum >> k
التحقق مما إذا كان العدد قوة للعدد 2(num & num - 1) == 0 أو (num & (-num)) == num
تبديل متغيرينnum1 ^= num2; num2 ^= num1; num1 ^= num2

أسئلة أساسية

هذه أسئلة أساسية للتدريب عليها إذا كنت تدرس هذا الموضوع.

أسئلة تدريب موصى بها

هذه أسئلة موصى بالتدريب عليها بعد أن تدرس الموضوع وتتدرب على الأسئلة الأساسية.

المصدر والرخصة

هذه الصفحة منسوخة من Tech Interview Handbook للمؤلف يانغشون تاي (Yangshun Tay)، النسخة المرجعية e1d28e8، وتُستخدم بموجب رخصة MIT — حقوق النشر (c) 2017-Present ليانغشون تاي. نص الرخصة محفوظ محلياً في /licenses/tech-interview-handbook.txt.