بســم الله الـرحمــن الرحيــم
غالبا ما تجد الكتب تتطرق الى الشرح القياسي للغة السي مثلا ( المتغيرات , الانواع , المصفوفات , الحلقات, .........)
ولا تتطرق الى اعمق من ذلك , مثلا عمليات البت , الكرافيك , التعامل مع منافذ الحاسب المؤشرات البعيده FAR Pointers
سابدأ إن شاء الله بشرح بسيط على قدر امكانيتي حول ما ذكرته من مواضيع لا يتم ذكرها من قبل الكتب القياسيه (العمليات على مستوى البت , الكرافيك , منافذ الحاسب , المؤشرات البعيده)
1- العمليات على مستوى البت :
* عملية AND & البتيه وهي ليست AND المنطقيه && تقوم بعملية الضرب البولياني بين البتات مثال عنها res=byte1 & byte2 يتم الضرب البولياني بين كل من البتات المتقابله بين المتغيرين.
* عملية OR وهي مثل سابقتها تختلف عن OR المنطقيه وممكن تطبيقها على المثال السابق باستبدال الرمز & بالرمز | حيث تجري عملية الجمع البولياني بين المتغيرين .
* عملية Exlusive OR تماما كسابقاتها ورمزها هو ^ تجري عملية (أو) الحصريه بين المتغيرين.
* العاكس NOT يقلب كل بت الى معكوسه من واحد الى صفر والعكس بالعكس , مثال : ;A=~A يتم قلب كل بت الى معكوسها وخزن النتيجه في المتغير A
وايضا عمليات التزحيف البتي:
وتتضمن الازاحه لليمين << والازاحه لليسار >> , طبعا التزحيف يكون بعدد مرات رقم نحن نحدده
مثال حول ذلك ;int x =2
;x>>1
لكي نحسب القيمه نحول 1 الى النظام الثنائي 00000010 وتزحف كل بت الى اليمين بمقدار 1 ويتم ادخال اصفار من جهة اليسار بمقدار 1
فيكون الناتج 00000001 وتصبح قيمة x الجديده 1
نفس الكلام ينطبق على التزحيف من جهة اليسار ولكن بشكل معاكس
اتمنى ان لايكون الموضوع مكرر , وإن شاء الله اكمل الشرح لاحقا حول الكرافيك .

