ما الذي تحتاج لمعرفته حول معاملات Python Bitwise؟ [موضح بأمثلة]

نشرت: 2021-10-06

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

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

الآن ، دعنا نستكشف معاملات Python bitwise بمزيد من التفاصيل ، والأنواع ، وكيفية عملها ، والأمثلة.

جدول المحتويات

معاملات Bitwise في Python

تتضمن Python ستة عوامل لأداء عمليات منطقية بت على أعداد صحيحة.

فيما يلي عوامل تشغيل البت المختلفة في Python مع تركيبها ووصف لما يفعله كل منها.

المشغل أو العامل

بناء الجملة

وصف

أحادي المعامل AND

أ & ب

يقوم عامل التشغيل بإرجاع 1 إذا كانت كلتا البتتين في المعاملين 1. وإرجاع آخر 0.

أحادي المعامل OR

أ | ب

يقوم العامل بإرجاع 1 إذا كان أي من البتات في المعاملين هو 1. ثم يقوم الآخر بإرجاع 0.

أحادي المعامل لا

~ أ

عامل أحادي أحادي يقوم بتنفيذ نفي منطقي لرقم معين عن طريق قلب جميع وحدات البت الخاصة به. من الناحية الحسابية ، يتم التعبير عنها بطرح قيم البت الفردية من واحد (~ ai = 1 - ai).

Bitwise XOR

أ ^ ب

يقوم العامل بإرجاع 1 إذا كان زوج البت يحتوي على قيم بت متعارضة. Else ترجع 0.

التحول الأيسر على مستوى البت

أ <<

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

التحول الأيمن على مستوى البت

أ >>

يدفع المشغل البتات إلى اليمين بعدد الأماكن المحدد. وبالتالي ، يتم دائمًا إسقاط البتات الموجودة في أقصى اليمين.

معاملات Bitwise في Python مع أمثلة

مع وضع الوصف الأساسي لكل عامل تشغيل في الاعتبار ، دعونا نلقي نظرة على بعض الأمثلة لتوضيح المفهوم بشكل أكبر.

1. أحادي المعامل AND (&)

تُرجع 1 إذا كانت كلتا البتتين 1. أما آخر فتعيد 0.

  • مثال 1

أ = 24 = 11000 (ثنائي)

ب = 4 = 00100 (ثنائي)

أ & ب = 11000

&

00100

= 00000

= 0 (عشري)

  • المثال رقم 2

أ = 10 = 1010 (ثنائي)

ب = 2 = 0010 (ثنائي)

أ & ب = 1010

&

0010

= 0010

= 2 (عشري)

2. على مستوى البت OR (|)

تُرجع 1 إذا كانت أي من البتات تساوي 1. أما فيما عدا ذلك ، فتعيد 0.

  • مثال 1

أ = 67 = 1000011 (ثنائي)

ب = 54 = 0110110 (ثنائي)

أ | ب = 1000011

|

0110110

= 1110111

= 119 (عشري)

  • المثال رقم 2

أ = 6 = 000110 (ثنائي)

ب = 34 = 100010 (ثنائي)

أ | ب = 000110

|

100010

= 100110

= 38 (عشري)

3. Bitwise NOT (~)

تُرجع تكملة 1 للبت (عكس البت).

  • مثال 1

أ = 60 = 111100 (ثنائي)

~ أ = ~ 111100

= 000011

= 3 (عشري)

  • المثال رقم 2

أ = 33 = 100001 (ثنائي)

~ أ = ~ 100001

= 011110

= 30 (عشري)

4. Bitwise XOR (^)

تُرجع 1 إذا كان لكل من البتتين قيم متعارضة. Else ترجع 0.

  • مثال 1

أ = 61 = 0111101 (ثنائي)

ب = 90 = 1011010 (ثنائي)

أ ^ ب = 0111101

^

1011010

= 1100111

= 103 (عشري)

  • المثال رقم 2

أ = 2 = 000010 (ثنائي)

ب = 55 = 110111 (ثنائي)

أ ^ ب = 000010

^

110111

= 110101

= 53 (عشري)

5. إزاحة لليسار في اتجاه البت (<<)

ينقل البتات إلى اليسار ويملأ الفجوات المتكونة على اليمين بالرقم 0.

  • مثال 1

أ = 39 = 100111 (ثنائي)

أ << 1 = 1001110 = 78 (عشري)

أ << 2 = 10011100 = 156 (عشري)

أ << 3 = 100111000 = 312 (عشري)

  • المثال رقم 2

ب = 74 = 1001010 (ثنائي)

ب << 1 = 10010100 = 148 (عشري)

ب << 2 = 100101000 = 296 (عشري)

ب << 3 = 1001010000 = 592 (عشري)

6. تبا لليمين على مستوى بت (>>)

ينقل البتات إلى اليمين ويملأ الفجوات المتكونة على اليسار بالصفر.

  • مثال 1

أ = 157 = 10011101 (ثنائي)

أ >> 1 = 1001110 = 78 (عشري)

أ >> 2 = 100111 = 39 (عشري)

أ >> 3 = 10011 = 19 (عشري)

  • المثال رقم 2

ب = 89 = 1011001 (ثنائي)

ب >> 1 = 101100 = 44 (عشري)

ب >> 2 = 010110 = 22 (عشري)

ب >> 3 = 001011 = 11 (عشري)

معاملات Bitwise في Python (أمثلة مع التعليمات البرمجية)

فيما يلي بعض مقتطفات التعليمات البرمجية البسيطة لتوضيح عوامل bitwise في Python:

1. على مستوى البت AND و OR و NOT و XOR

مصدر

مصدر

2. معاملات التحول على مستوى البت

مصدر

مصدر

المضي قدمًا: إتقان مهارات Python مع برنامج الشهادة المهنية upGrad في علوم البيانات

هل أنت مدير أعمال طموح مع عدم وجود خبرة تقريبًا في البرمجة؟ ثم قامت upGrad بتغطيتك ببرنامج الشهادة الاحترافية في علوم البيانات لاتخاذ قرارات الأعمال.

تم تصميم برنامج الشهادة الاحترافية في علوم البيانات خصيصًا للمديرين والمهنيين العاملين الذين يرغبون في تطوير المهارات والمعرفة العملية في علم البيانات التأسيسي. يركز البرنامج الصارم عبر الإنترنت لمدة 8 أشهر على مشاكل علوم البيانات والخوارزميات وكيف يمكن تقديم البيانات لاتخاذ قرارات تجارية مهمة. يغطي المنهج الدورات التالية:

  • المحتوى التحضيري قبل البرنامج
  • حل مشاكل الأعمال والرؤى ورواية القصص
  • الإحصاء والتعلم الآلي
  • إستراتيجية
  • مشروع كابستون
  • مقدمة إلى Python (وحدة اختيارية)

فيما يلي نظرة على الملامح الرئيسية للبرنامج:

  • شهادة معترف بها عالميًا من IIM Kozhikode
  • أكثر من 200 ساعة من المحتوى ، وأكثر من 20 جلسة تعليمية مباشرة ، وأكثر من 5 جلسات تدريب خبراء
  • 3 مشاريع صناعية وتتويجا
  • تغطية شاملة لبرنامج Excel و Python و Tableau و R و Power BI
  • 360 درجة الدعم الوظيفي
  • وجهًا لوجه مع موجهين في المجال
  • المساعدة في العمل مع الشركات الكبرى
  • فرص التواصل في الصناعة

خاتمة

Python هي لغة برمجة قوية ومتعددة الاستخدامات وسهلة الاستخدام ، مما يجعلها خيارًا شائعًا بين الخبراء والمبتدئين على حد سواء. إلى جانب ذلك ، لا تزال Python هي لغة البرمجة المفضلة بين المطورين نظرًا لكفاءتها المطلقة وتعدد استخداماتها وموثوقيتها وسرعتها. يمكن استخدامه في جميع أنواع البيئات والأنظمة الأساسية تقريبًا دون أي خسارة كبيرة في الأداء. بالإضافة إلى ذلك ، تقوم Python بتشغيل الجزء الأكبر من أعباء عمل معالجة البيانات عبر العديد من المؤسسات. سهولة تحليل البيانات التي تقدمها Python تجعلها مفيدة للعديد من التطبيقات ، بما في ذلك مشاريع التعلم الآلي.

تعد Python سهلة الاستخدام بلا شك لمعالجة العمليات التجارية الهامة لأنها تشكل جانبًا أساسيًا من علم البيانات. علاوة على ذلك ، مع توسع البيانات الضخمة وتركيز المزيد والمزيد من المؤسسات على اتخاذ قرارات تعتمد على البيانات ، لا يمكن تقويض أهمية Python. لذلك ، إذا كنت ترغب في إتقان لغة Python وتطبيق مهاراتك في سيناريوهات الأعمال القائمة على البيانات ، فقم بالتسجيل في upGrad لتتعلم من الأفضل في الصناعة!

ما هي استخدامات عوامل البت؟

يتم استخدام معاملات Bitwise في Python لإجراء عمليات حسابية على قيم عدد صحيح. لهذا ، يتم تحويل الأعداد الصحيحة أولاً إلى ثنائي ، ثم يتم إجراء عمليات مختلفة ، شيئًا فشيئًا ، لإرجاع الناتج في التنسيق العشري. في بايثون ، يمكن استخدام معاملات أحاديات الأحجام على الأعداد الصحيحة فقط.

هل المشغلين أحاديي المعامل سريع؟

في معالج بسيط ومنخفض التكلفة ، تكون مشغلات البتات عادةً أسرع من القسمة والضرب وغالبًا ما تكون أسرع بكثير من الإضافة. بشكل عام ، يستخدم مشغلو البتات موارد أقل وبالتالي يستخدمون طاقة أقل بشكل ملحوظ.

ما فائدة العوامل المنطقية في بايثون؟

لدى Python ثلاثة عوامل منطقية تسمح بمقارنة القيم. تقوم العوامل المنطقية الثلاثة AND و OR و NOT بتقييم التعبيرات إلى القيم المنطقية وإرجاع True أو False بناءً على نتيجة عامل التشغيل. فيما يلي العوامل المنطقية الثلاثة في بايثون:

1. AND (a and b): صحيح إذا كان كلا التعبيرين صحيحين
2. OR (a or b): صحيح إذا كان هناك تعبير واحد على الأقل صحيح
3. NOT (وليس أ): صحيح فقط إذا كان التعبير خاطئًا