الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحويل من بايت الى Bool

مغلق
بدأه مبرمجة مبتدئه في 8 نوفمبر 2007 · 5 رد · 580 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ممكن احد يفهمني هذال الكود

بالتحديد السطر

الثاني

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

#2

السلام عليكم

اقتباس
الناتج النهائي

01000000

طيب هذا كيف يحوله الى bool قيمته true

لانه في البرنامج تطلع القيمة true

ال 01000000 لم تتحول الى true ولكن قيمة bool myBit أصبحت تساوي true لأن 01000000 لاتساوي صفر وهو ناتج المقارنة في الجانب الأيمن لأن 0=!(01000000)

اقتباس
حالة اخرى :الناتج الخاص بحالة اخرى طلع معايا 0000000

يعني بال boolيساوي false

أما في الحالة دي يكون نتيجة المقارنة0=!(00000000) ترجع خطأ لأنهما متساويان

ياريت تكوني فهمتي حاجة أنا لما قريت ردي مفهمتوش :lol: بس مش عارف أوضحها إزاي

والله أعلم

تم تعديل هذه المشاركة بواسطة TopSec في 8 نوفمبر 2007 في 15:56

#3

السلام عليكم

يعني

code !=0

اذا تحقق

يصيرtrue

واذا لا يصير false

#4

بالظبط

والله أعلم

#5

topsecشكرا لك يعطيك العافية

مشكوووووور ماقصرت

الله يجزاك خير

تم تعديل هذه المشاركة بواسطة مبرمجة مبتدئه في 8 نوفمبر 2007 في 16:08

#6

ردك الأخير صح

bool myBit

ياخد نتيجة المقارنة

هذا الموضوع مغلق.

مواضيع مشابهة