قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 24-05-2013, 11:52 PM المشاركة 9   
افتراضي



العوامل (المؤثرات) OPERATORS :
"العامل" أو المؤثر operator هو رمز يستخدم للدلالة على عملية حسابية ، أومنطقية معينة أو بعض العمليات الأخرى . يتم تنفيذ كل عملية على واحد أو أكثر المعاملات operands (المتغيرات أو الثوابت) في تعبير. الى جانب ذلك ، فإن كل عامل له خاصية أولوية التنفيذ priority والارتباط ( التلازم – التصاحب – المصاحبة) associativity. إذا احتوى التعبير على أكثر من معامل واحد ، يتم تحديد ترتيب تنفيذها عن طريق مستوى أولوية التنفيذ لها . هناك أربع فئات للأولوية فى لغة Basic. العوامل التى تنتمى إلى نفس الفئة لها أولوية متساوية . إذا كان هناك اثنين أو أكثر من العوامل لديها نفس مستوى الأولوية ، يتم تنفيذ العمليات من اليسار إلى اليمين. يمكن استخدام قوسين لتحديد أولوية العملية ضمن التعبير. يتم تخصيص كل فئة وفق قاعدة الارتباط إما من اليسار إلى اليمين أو الارتباط من اليمين إلى اليسار كما فى الجدول التالى :





1- العوامل (المؤثرات) الحسابية ARITHMETIC OPERATORS
تستخدم العوامل (المؤثرات) الحسابية لأداء العمليات الحسابية . يتم تنفيذ هذه العمليات على المعاملات العددية ودائما يكون العائد return نتائج عددية . يتم تنفيذ العمليات الثنائية على اثنين من المعاملات ، فى حين يتم تنفيذ العمليات الأحادية على معامل واحد . جميع العوامل الحسابية ترتبط من اليسار إلى اليمين .







القسمة على الصفر
إذا تم استخدام الصفر(0)بشكل صريح كمعامل ثانى فى عملية القسمة (x div 0 ) ، سوف يعطى المترجم تقرير بوجود خطأ ولن يتم توليد الكود . في حالة القسمة الضمنية حيث يكون المعامل الثانى هو كائن قيمة هى الصفر (x div y, where y=0), فإن النتيجة ستكون غير معروفة.

2- عوامل (مؤثرات) العلاقات RELATIONAL OPERATORS
تستخدم عوامل العلاقات للمقارنة بين المتغيرات وتحديد صلاحية العلاقة بينهما. فى مترجم mikroBasicجميع عوامل العلاقات يكون عائدها return القيمة 255إذا كان التعبيرexpression صحيحا true ، أو يكون عائدها صفر (0)إذا كانت التعبير غير صحيحfalse .





3- العوامل (المؤثرات) المنطقية المختصة بالبت الأحادية LOGIC BITWISE OPERATORS
يتم تنفيذ العوامل المنطقية المختصة بالبت على بت من المعامل . الارتباط يكون من اليسار إلى اليمين . والاستثناء الوحيد هو عامل "المكمل أو المتمم" complement للبت , فهو يرتبط من اليمين إلى اليسار. فيما يلى قائمة بالعوامل المنطقية المختصة بالبت الأحادية :








عوامل البت الأحادية and و or و xor تجرى عمليات منطقية على الازواج المناسب من بتات المعاملات. العامل not يكمل (يتمم) كل بت لمعامل واحد.


كود:
$1234 and $5678 ' result is $1230 because: ' $1234 : 0001 0010 0011 0100 ' $5678 : 0101 0110 0111 1000 ' ---------------------------- ' and : 0001 0010 0011 0000 ... that is, $1230 $1234 or $5678 ' equals $567C $1234 xor $5678 ' equals $444C not $1234 ' equals $EDCB
4- عوامل الإزاحة للبت الأحادية BITWISE SHIFT OPERATORS
يوجد عاملان للإزاحة فى المترجم mikroBasic, وهما العامل "<<"والذى يحرك البتات إلى اليسار و والعامل >>"" والذى يحرك البتات إلى اليمين . لكل من العاملين اثنين من المعاملات . "المعامل الأيسر هو الكائن المراد تحريكه" ، في حين أن "المعامل الأيمن هو عدد الأماكن المراد تحريك الكائن بها" . يجب أن يكون كلا المعاملان من نوع العدد الصحيح integral. ويجب أن يكون المعامل الأيمن ذو قيمة موجبة .
عن طريق عامل الإزاحة لليسار (<<), يتم تجاهل البتات أقصى اليسار، في حين يتم تخصيص أصفار للبتات "الجديدة" جهة اليمين . إزاحة المعامل بدون إشارة unsigned إلى اليسار لعدد n موقع يعادل ضربه بالعدد 2 مرفوع للأس n( ( 2n.


كود:

dim num as word ' declare variable num as word num = 1 ' assign it decimal value 1 (00000000 00000001 bin.) num << 5 ' equals 32 (00000000 00100000 bin.)
عن طريقعامل الإزاحة لليمين (>>) , يتم تجاهل البتات أقصى اليمين ، في حين يتم تخصيص أصفار للبتات 'الجديدة' على على اليمين . إزاحة المعامل جهة اليمين n موقع يعادل قسمته على العدد 2 مرفوع للأس n .

كود:

dim num as integer ' declare variable num as signed integer num = 0xFF56 ' assign it hex value FF56 (11111111 01010110 bin.) num >> 4 ' equals 0x0FF5 (00001111 11110101 bin.)

اعلانات


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:44 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)