عمليات الأعداد الثنائية Bitwise في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يمكن تنفيذ عمليات الأعداد الثنائية Bitwise على الأعداد الصحيحة فقط، وتعامل الأعداد السالبة معاملة قيمها المكمّلة من الأساس 2 (يُفترض هنا وجود عدد كافٍ من البتات لكي لا يحدث أي فيضان [overflow] أثناء العملية).

تمتلك عمليات الأعداد الثنائية أولوية أدنى من العمليات العددية وأعلى من عمليات المقارنة، ويمتلك العامل الأحادي ~ نفس الأولوية التي تمتلكها العمليات العددية الأحادية (+ و -).

يعرض الجدول التالي قائمة بعمليات الأعداد الثنائية مرتّبة حسب أولويتها ترتيبًا تصاعديًا:

العملية النتيجة ملاحظات
x | y x أو y
x ^ y x أو (غير الضمنية) y
x & y x و y
x << n إزاحة x إلى اليسار بمقدار n بت الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع ValueError.

الإزاحة إلى اليسار بمقدار n بت مكافئ للضرب بالمقدار pow(2, n)‎دون التحقق من وجود فيضان (overflow).

x >> n إزاحة x إلى اليمين بمقدار n بت الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع ValueError.

الإزاحة إلى اليسار بمقدار n بت مكافئ للقسمة على المقدار pow(2, n)‎دون التحقق من وجود فيضان (overflow).

‎~x قلب بتات x

مصادر