• 0
haosman

Flag Variables

سؤال

الأخوة الأعزاء
فى البداية شكرا جزيلا للأخوة اللى ردوا عليا فى الموضوع السابق
ورجعت بسرعة ومعايا سؤال تانى، المرة دى عن الـ Flag Variable

اللى فهمتو ان من الممكن انك تغير فى بت معينة داخل متغير والمقارنة بينها وبين قيمة بت فى متغير آخر،
ياترى هل هذا الشرح البسيط يمثل الهدف من الـ Flag Variable ؟
دة السؤال الأول

وأثناء القراءة صادفت مثال بيتكلم عن نفس الموضوع، بس فى بعض الخطوات مش فاهمها خالص، أعتقد ان الـ سى شارب عملت نوع من الجمود على التخيل ومش قادر افكر الليونة اللى بتتعامل بيها لغة الـ C
 

const int CHANNEL_DOWN =    (1<<4);char    flags = 0;  /* start all flags at 0 */flags |= CHANNEL_DOWN; if ((flags & ERROR) != 0)     printf("Error flag is set\n");else     printf("No error detected\n");

1: المتغير flag من نوع char كيف يساوى 0
2: كيف يتم كتابة flags |= CHANNEL_DOWN رغم اختلاف نوع المتغيرين.
3: المتغير CHANNEL_DOWN والمتغير flag مختلفين فى الحجم (int , char) كيف إذن تكون هناك عملية جمع فى كل من المتغيرين رغم اختلاف الحجم.


آسف للإطالة وشكرا على الإفادة.

تم تعديل بواسطه مصطفى 36a2
add some tags
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

1 إجابات على هذا السؤال .

  • 0

اخوي بالنسبة للمتغير flags يساوي صفر عادي في لغة C و ++C لانه يأخذ قيمة الآسكي اللي هي صفر

وبالنسبة لإختلاف الانواع ؟؟؟؟؟؟؟ ترى في لغة السي مافي قيود او ما يعرف بـــ Type checking

والسلام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .