تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ما هى فائدة Bitwise Operator و ال Shift Operators
#3
اذا كنت تسأل عن طريقة الاستخدام فتوجد دروس كثيرة متوفرة عن الـ bitwise operators

ولكن ان سألت في ماذا نستفيد منهم ، فهذا كلام اخر .. اساسا هذه عمليات قديمة فالان نحن لدينا السي شارب
ومكتبات الدوت نت عالية المستوى التي توفر دوال جاهزة لكل شيئ ، فتقريبا نادرا مانستخدام هذه العمليات

وان اُستخدمت ، سيكون لغرض زيادة سرعة التطبيق لان بعض الدوال تاخذ وقت في تنفيذها.
كما هو الحال في الـ Pointers في السي شارب ، نادرا مايستخدم بسبب ان له بدائل اسهل واكثر امانا مثل IntPtr


وحتى الـ Shift Operators كان يستخدم لعمل power لرقم معين ولكن الدوت نت توفر دالة جاهزة (Math.pow) .


--


فعليا لم استخدم هذه المعاملات الا في حالة الـ Flags وفعلا وجدتها مفيدة :-

اولا قمت بانشاء Enum :


PHP كود :
[Flags]
public 
enum Position
{
 
    Down 1,
 
   Top 2,
 
   Left 4,
 
   Right 8


الان لو حبيت استخدم الـ enum ، بالطبع جميعا نعرف كيف نستخدمه

PHP كود :
circule.Pos Position.Down 


ولكن ماذا لو اردت ان ان اضع الدائرة في الزاوية السفلى على اليسار ؟
بما اننا استعملنا الـ flags ، فيمكننا القيام بالتالي Smile :

PHP كود :
circule.Pos Position.Down Position.Left 



وفي كود خاصية Pos يوجد الكود التالي الذي يحدد محتوى الخاصية Pos
PHP كود :
if((pos Position.Top) == Position.Top)
{
 
   // pos has Top
}

if((
pos Position.Left) == Position.Left)
{
 
   // pos has Left


في الكود السابق سيتم الدخول في كلا الشرطين بسبب اننا ارسلنا للخاصية Position.Down | Position.Left



--

وهذا بالضبط مبدأ عمل الخاصية المشهورة Anchor

PHP كود :
button1.Anchor = (AnchorStyles.Bottom AnchorStyles.Right); 



رغم ذلك يوجد اسلوب اخر بديل عن هذا ، ولكن هذا اسلوب سريع وجيد نوعا ما

هذه الحالة الوحيدة التي استفدت منها من الbitwise operator



--

لمزيد من المعلومات :

http://stackoverflow.com/questions/38833...operations
الرد }}}
تم الشكر بواسطة: ابو ليلى , LoveVb , محمد كريّم , sendbad100 , sendbad100


الردود في هذا الموضوع
RE: ما هى فائدة Bitwise Operator و ال Shift Operators - بواسطة الشاكي لله - 01-01-17, 01:58 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم