السلام عليكم ممكن احد يفهمني هذال الكود
بالتحديد السطر
الثاني
byte b = eMyStringBytes[eIndex]; bool myBit =(b & (byte)(1 << ePosition)) != 0; ePosition--;
اللي فهمته انه
نفرض ال b هي 211
ePosition=6
الكود في السطر الثاني
يبدأ يعمل shift left للبايت اللي قيمته 1
بمقدار يساوي 6
البايت 1 اساسا هو 00000001
بعد الshift يصبح
01000000
نطبق الand على الناتج الاخير مع الb
b=11010011
الناتج النهائي
01000000
طيب هذا كيف يحوله الى bool قيمته true
لانه في البرنامج تطلع القيمة true
حالة اخرى :الناتج الخاص بحالة اخرى طلع معايا 0000000
يعني بال boolيساوي false