الفرق بين المراجعتين لصفحة: «Python/bitwise operations»
< Python
لا ملخص تعديل |
ط نقل عبد اللطيف ايمش صفحة Python/bitwise-operations إلى Python/bitwise operations |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:عمليات الأعداد الثنائية Bitwise في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:عمليات الأعداد الثنائية Bitwise في بايثون}}</noinclude> | ||
يمكن تنفيذ عمليات الأعداد الثنائية Bitwise على [[Python/int|الأعداد الصحيحة]] فقط، وتعامل الأعداد السالبة معاملة قيمها المكمّلة من الأساس 2 (يُفترض هنا وجود عدد كافٍ من البتات لكي لا يحدث أي فيضان | يمكن تنفيذ عمليات الأعداد الثنائية Bitwise على [[Python/int|الأعداد الصحيحة]] فقط، وتعامل الأعداد السالبة معاملة قيمها المكمّلة من الأساس 2 (يُفترض هنا وجود عدد كافٍ من البتات لكي لا يحدث أي فيضان [overflow] أثناء العملية). | ||
تمتلك عمليات الأعداد الثنائية أولوية أدنى من [[Python/ | تمتلك عمليات الأعداد الثنائية أولوية أدنى من [[Python/numeric_operations|العمليات العددية]] وأعلى من [[Python/comparisons|عمليات المقارنة]]، ويمتلك العامل الأحادي <code>~</code> نفس الأولوية التي تمتلكها العمليات العددية الأحادية (<code>+</code> و <code>-</code>). | ||
يعرض الجدول التالي قائمة بعمليات الأعداد الثنائية مرتّبة حسب أولويتها ترتيبًا تصاعديًا: | يعرض الجدول التالي قائمة بعمليات الأعداد الثنائية مرتّبة حسب أولويتها ترتيبًا تصاعديًا: | ||
سطر 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> | ||
| | | | ||
|} | |} |
المراجعة الحالية بتاريخ 15:04، 29 مايو 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 في توثيق بايثون الرسمي.