الفرق بين المراجعتين لصفحة: «Python/bitwise operations»
< Python
طلا ملخص تعديل |
لا ملخص تعديل |
||
سطر 23: | سطر 23: | ||
|- | |- | ||
|<code>x << n</code> | |<code>x << n</code> | ||
|إزاحة x إلى اليسار بمقدار n بت | |إزاحة <code>x</code> إلى اليسار بمقدار <code>n</code> بت | ||
|الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع <code>ValueError</code>. | |الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع <code>ValueError</code>. | ||
الإزاحة إلى اليسار بمقدار <code>n</code> بت مكافئ للضرب بالمقدار <code>pow(2, n)</code>دون التحقق من وجود فيضان (overflow). | الإزاحة إلى اليسار بمقدار <code>n</code> بت مكافئ للضرب بالمقدار <code>pow(2, n)</code>دون التحقق من وجود فيضان (overflow). | ||
|- | |- | ||
|<code>x >> n</code> | |<code>x >> n</code> | ||
|إزاحة x إلى اليمين بمقدار n بت | |إزاحة <code>x</code> إلى اليمين بمقدار <code>n</code> بت | ||
|الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع <code>ValueError</code>. | |الإزاحة السالبة غير مسموح بها، وتؤدي إلى إطلاق خطأ من نوع <code>ValueError</code>. | ||
الإزاحة إلى اليسار بمقدار <code>n</code> بت مكافئ للقسمة على المقدار <code>pow(2, n)</code>دون التحقق من وجود فيضان (overflow). | الإزاحة إلى اليسار بمقدار <code>n</code> بت مكافئ للقسمة على المقدار <code>pow(2, n)</code>دون التحقق من وجود فيضان (overflow). | ||
|- | |- | ||
|<code>~x</code> | |<code>~x</code> | ||
|قلب بتات x | |قلب بتات <code>x</code> | ||
| | | | ||
|} | |} |
مراجعة 21:21، 21 مايو 2018
يمكن تنفيذ عمليات الأعداد الثنائية 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 في توثيق بايثون الرسمي.