عمليات الأعداد الثنائية Bitwise في بايثون
< Python
يمكن تنفيذ عمليات الأعداد الثنائية Bitwise على الأعداد الصحيحة فقط، وتعامل الأعداد السالبة معاملة قيمها المكمّلة من الأساس 2 (يُفترض هنا وجود عدد كافٍ من البتات لكي لا يحدث أي فيضان [overflow] أثناء العملية).
تمتلك عمليات الأعداد الثنائية أولوية أدنى من العمليات العددية وأعلى من عمليات المقارنة، ويمتلك العامل الأحادي ~
نفس الأولوية التي تمتلكها العمليات العددية الأحادية (+
و -
).
يعرض الجدول التالي قائمة بعمليات الأعداد الثنائية مرتّبة حسب أولويتها ترتيبًا تصاعديًا:
العملية | النتيجة | ملاحظات |
---|---|---|
x | y
|
x أو y
|
|
x ^ y
|
x أو (غير الضمنية) y
|
|
x & y
|
x و y
|
|
x << n
|
إزاحة x إلى اليسار بمقدار n بت | الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع ValueError .
الإزاحة إلى اليسار بمقدار |
x >> n
|
إزاحة x إلى اليمين بمقدار n بت | الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع ValueError .
الإزاحة إلى اليسار بمقدار |
~x
|
قلب بتات x |
مصادر
- صفحة Built-in Types في توثيق بايثون الرسمي.