الفرق بين المراجعتين لصفحة: «Algorithms/Bitwise Algorithms»

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 12: سطر 12:
== [[Algorithms/find unique number|العثور على العنصر الفريد في المصفوفة]] ==
== [[Algorithms/find unique number|العثور على العنصر الفريد في المصفوفة]] ==
تعثر هذه الخوارزمية على العنصر الفريد في مصفوفة تضمّ عناصر تتكرر ثلاث مرّات.
تعثر هذه الخوارزمية على العنصر الفريد في مصفوفة تضمّ عناصر تتكرر ثلاث مرّات.
== [[Algorithms/swap bits|تبديل البتات في عدد معين]] ==
تبدّل هذه الخوارزمية بين موقعين (من الجانب الأيمن) في التمثيل البياني للعدد المعطى بشرط عدم حصول تداخل بين مجموعتي البتات، ثم تعيد النتيجة.
[[تصنيف:الخوارزميات]]
[[تصنيف:الخوارزميات]]

مراجعة 13:26، 29 نوفمبر 2019

تستخدم خوارزميات البتات Bitwise Algorithms لتنفيذ عمليات على مستوى البت bit-level أو لإجراء تعديلات على البتات وبطرق مختلفة. تكون العمليات المجراة على مستوى البت أسرع من العمليات العادية وتستخدم في بعض الأحيان لزيادة فعالية البرامج.

فعلى سبيل المثال: للتحقق من كون عددٍ معيّنٍ زوجيًا أو فرديًا، يمكن استخدام العامل (AND &). إذ لو جرى تعيين آخر بت في العامل فإنّ العدد يكون فرديًا، وإلا فإنّه زوجي. وهكذا إن لم يساوِ التعبير num & 1 صفرًا فإنّ العدد سيكون فرديًا وإلا فإنّه عدد زوجي.

زيادة عدد بمقدار واحد دون استخدام العوامل

تضيف هذه الخوارزمية العدد 1 على العدد المعطى دون استخدام أيٍّ من العوامل الرياضية مثل  ‎‘+’, ‘-‘, ‘*’, ‘/’, ‘++’, ‘–‘‎.

التحقق من كون رقمين صحيحين يحملان إشارتين متعاكستين

تتحقّق هذه الخوارزمية ممّا إذا كان رقمان صحيحان يمتلكان إشارتين مختلفتين دون استخدام أيٍّ من العوامل الرياضية.

العثور على العنصر الفريد في المصفوفة

تعثر هذه الخوارزمية على العنصر الفريد في مصفوفة تضمّ عناصر تتكرر ثلاث مرّات.

تبديل البتات في عدد معين

تبدّل هذه الخوارزمية بين موقعين (من الجانب الأيمن) في التمثيل البياني للعدد المعطى بشرط عدم حصول تداخل بين مجموعتي البتات، ثم تعيد النتيجة.