معاملات Python Bitwise [مع أمثلة]

نشرت: 2022-09-11

يتم توفير مشغلي Bitwise بواسطة لغة برمجة Python للسماح للمبرمجين بمعالجة البيانات على المستوى الأساسي - مما يمنحهم مزيدًا من التحكم في جميع المتغيرات.

Python هي واحدة من أشهر لغات البرمجة في عالم اليوم. تعد تعدد استخدامات Python وعدد الميزات التي تقدمها من الأسباب القليلة لزيادة شعبيتها. سوف تستكشف هذه المقالة عوامل تشغيل Bitwise في Python وأنواع مختلفة من مشغلات Bitwise واستخداماتها وغير ذلك الكثير.

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

نظرة عامة على عوامل تشغيل Python

تبدو معاملات Bitwise متشابهة عبر لغات البرمجة المختلفة. تأتي Python مع أنواع مختلفة من العوامل مثل العوامل الحسابية والمنطقية والمقارنة.

المشغل أو العامل مثال المعنى
& أ & ب أحادي المعامل AND
| أ | ب أحادي المعامل OR
^ أ ^ ب Bitwise XOR (حصري أو)
~ ~ أ أحادي المعامل لا
<< أ << ن إزاحة لليسار على مستوى البت
>> أ >> ن التحول الأيمن على مستوى البت

معظم معاملات البت ثنائية ، مما يعني أنهم بحاجة إلى معاملين للعمل معهم ، يشار إليهما عادةً باسم المعامل الأيسر والأيمن. إن Bitwise NOT (~) هو العامل الوحيد أحادي الاتجاه لأنه يحتاج إلى معامل واحد فقط.

استكشف دوراتنا الشهيرة في علوم البيانات

برنامج الدراسات العليا التنفيذية في علوم البيانات من IIITB برنامج الشهادة المهنية في علوم البيانات لاتخاذ قرارات الأعمال ماجستير العلوم في علوم البيانات من جامعة أريزونا
برنامج الشهادة المتقدمة في علوم البيانات من IIITB برنامج الشهادة الاحترافية في علوم البيانات وتحليلات الأعمال من جامعة ماريلاند دورات علوم البيانات

ما هي معاملات Bitwise؟

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

تحقق من شهادات علوم البيانات لدينا لتحسين مهاراتك.

أهمية العوامل الأحادية

ربما تكون قد فهمت ما هي معاملات البت ، فلنركز الآن على أهمية عوامل تشغيل البت. إنها أفضل من المعاملات الحسابية وإليك سبب حاجتك لاستخدامها:

  • سرعة التنفيذ

تعتبر معاملات البت على مستوى البت أسرع من عمليات الضرب أو القسمة. إذا كنت بحاجة إلى ضرب متغير x في 9 ، فيمكنك إجراء (x << 3 + x) والذي سيكون أسرع ببضع دورات من (x * 9).

  • التحقق من الخطأ

يتم استخدام معاملات Bitwise على نطاق واسع لفحص الأخطاء. إذا كنت ترسل بعض البتات إلى كمبيوتر آخر على خادم آخر ، فلا بد أن تكون هناك بعض الأخطاء. يمكنك تحديد هذه الأخطاء باستخدام عوامل تشغيل أحاديات.

من المحتمل أنك تفهم استخدام وأهمية عوامل تشغيل الأحجام ، لذلك دعنا ننتقل إلى فهم الأنواع المختلفة من عوامل تشغيل الأحجام.

أنواع مختلفة من عوامل تشغيل البت

العوامل المنطقية على مستوى البت

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

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

يتم استخدام عامل التشغيل AND (&) لإجراء AND بين بتين. في هذه الحالة ، يجب أن تكون كلتا البتتين صحيحين حتى يكون الناتج صحيحًا. إذا كان أي من البتات خاطئًا ، فسيكون الناتج خاطئًا. بمعنى آخر ، إذا كانت كلتا البتتين 1 ، فإنها تُرجع 1 آخر 0.

1 & 1 = 1

1 & 0 = 0

0 & 0 = 0

0 & 1 = 0

مثال:

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

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

أ & ب = 1010

&

0100

= 0000

= 0 (عشري)

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

يتم استخدام عامل التشغيل OR (|) لإجراء العملية OR بين بتين. لكي يكون الناتج صحيحًا ، يجب أن يكون أحد البتات صحيحًا. على عكس عامل التشغيل (&) ، لا يلزم أن يكون كلتا البتتين صحيحين حتى تكون النتيجة صحيحة. بعبارة أخرى ، تكون البتة الناتجة 0 إذا وفقط إذا كانت كلتا البتتين المعتبرين صفرًا ، فإن النتيجة هي 1.

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

مثال:

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

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

أ | ب = 1010

|

0100

= 1110

= 14 (عشري)

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

يتم استخدام عامل Bitwise NOT (~) لإرجاع مكمل الرقم في Python. ومع ذلك ، فإن العامل not هو مشغل بسيط للغاية ويستخدم لقلب البت من 0 إلى 1 ومن 1 إلى 0.

~ 13 (0b01101) = -14

~ 16 (0b010000) = -17

~ 31 (0b011111) = -32

مثال:

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

~ أ = ~ 1010

= - (1010 + 1)

= - (1011)

= -11 (عشري) عامل Bitwise XOR

يتم استخدام عامل التشغيل XOR (^) لـ XOR بين بتتين قيد التشغيل. عملية XOR بسيطة للغاية. إذا كانت بتتان متماثلتان ، فإن البتة الناتجة تكون 0 else 1. وهي تستخدم على نطاق واسع في الحسابات المنطقية لجعل العملية أسرع.

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

مثال:

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

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

أ & ب = 1010

^

0100

= 1110

= 14 (عشري)

مشغلي التحول

تُستخدم معاملات البت هذه لتحويل بتات الرقم من اليسار إلى اليمين بضرب الرقم أو قسمة الرقم على اثنين على التوالي. يمكن استخدامها عندما يتعين علينا قسمة الرقم أو ضربه على اثنين.

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

العامل الأيمن (>>) ، كما يوحي الاسم ، ينقل البتات نحو اليمين إلى رقم يتم تمثيله في الجانب الأيمن من المشغل.

اقرأ مقالاتنا الشهيرة في علوم البيانات

المسار الوظيفي لعلوم البيانات: دليل مهني شامل النمو الوظيفي لعلوم البيانات: مستقبل العمل هنا لماذا علم البيانات مهم؟ 8 طرق تضيف علوم البيانات قيمة إلى الأعمال
أهمية علم البيانات للمديرين ورقة الغش النهائية لعلوم البيانات التي يجب أن يمتلكها علماء البيانات أهم 6 أسباب لماذا يجب أن تصبح عالم بيانات
يوم في حياة عالم البيانات: ماذا يفعلون؟ ضبطت الأسطورة: علم البيانات لا يحتاج إلى تشفير ذكاء الأعمال مقابل علوم البيانات: ما هي الاختلافات؟

على سبيل المثال - 10 >> 2 سينتقل (1010) نحو اليمين بمقدار 2.

مثال 1:

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

أ >> 1 = 0000 0101 = 5

المثال 2:

أ = -10 = 1111 0110 (ثنائي)

أ >> 1 = 1111 1011 = -5

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

عامل التشغيل الأيسر (<<) ، كما يوحي الاسم ، يغير البتات باتجاه اليسار إلى رقم يتم تمثيله على الجانب الأيمن من المشغل.

على سبيل المثال - 1 << 2 سوف يتحول 1 باتجاه اليسار لقيمتين.

مثال 1:

أ = 5 = 0000 0101 (ثنائي)

أ << 1 = 0000 1010 = 10

أ << 2 = 0001 0100 = 20

المثال 2:

ب = -10 = 1111 0110 (ثنائي)

ب << 1 = 1110 1100 = -20

ب << 2 = 1101 1000 = -40

اقرأ مقالاتنا الشهيرة في علوم البيانات

المسار الوظيفي لعلوم البيانات: دليل مهني شامل النمو الوظيفي لعلوم البيانات: مستقبل العمل هنا لماذا علم البيانات مهم؟ 8 طرق تضيف علوم البيانات قيمة إلى الأعمال
أهمية علم البيانات للمديرين ورقة الغش النهائية لعلوم البيانات التي يجب أن يمتلكها علماء البيانات أهم 6 أسباب لماذا يجب أن تصبح عالم بيانات
يوم في حياة عالم البيانات: ماذا يفعلون؟ ضبطت الأسطورة: علم البيانات لا يحتاج إلى تشفير ذكاء الأعمال مقابل علوم البيانات: ما هي الاختلافات؟

استنتاج

سيساعدك امتلاك فهم جيد لمشغلي Python bitwise على معالجة البيانات الثنائية في مشروعاتك. أنت الآن تفهم أساسيات عوامل تشغيل البت وصياغتها وأنواع البيانات التي تدعمها. يمكنك أيضًا تخصيص سلوكهم وفقًا لاحتياجاتك الخاصة.

إذا كنت حريصًا على تعلم وتوسيع معرفتك حول مشغلي البايثون ومشغلي bitwise ، فراجع برنامج الشهادات المهنية upGrad's & University of Maryland في علوم البيانات وتحليلات الأعمال ، والذي تم إنشاؤه للمهنيين العاملين الذين يقدمون أكثر من 20 دراسة حالة ومهمة يمكن أن تكون مضافًا إلى محفظتك ، أكثر من 100 ساعة من الجلسات الحية ، وأكثر من 400 ساعة من التعلم بمساعدة وظيفية من أفضل الشركات.

أين يتم استخدام معاملات أحادي المعامل؟

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

ما هو عامل المعامل الفردي؟

تؤدي العوامل الحسابية عمليات حسابية مثل الجمع والطرح باستخدام المعاملات. أحادي وثنائي هما فئتان من العوامل الرياضية. يؤدي المشغلون الأحاديون وظيفة بمعامل واحد ، على سبيل المثال: Bitwise NOT (~) ، بينما يستخدم المشغلون الثنائيون معاملين.

لماذا نحتاج مشغلي أحادي المعامل؟

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