السلام عليكم و رحمة الله و بركاته
بعض الناس عندما يقوم بكتابة معادلات ... مثلاً يريد التحويل زاوية من Degree إلى Radian ... يضع في المعادلة هذا الأمر مثلاً
theta = 90/180*Math.PI * Math.cos( Math.atan( x/z ) );
و لكنه كان من الأفضل أن يقول
theta = 1.5707963267948966*Math.cos(Math.atan(x/z));
لأن البرنامج سيقوم بحساب قيمة 90 مقسومة على 180 ثم يقوم بالكشف عن قيمة Math.PI ثم يقوم بضربها في ناتج الضرب السابق ثم يخرج القيمة
لكن طالما أن النتيجة معروفة من البداية فلماذا لا أكتبها .. لأنه احياناً في الألعاب الثقيلة من الأفضل أن أختصر المعادلة حتى لا أبطئ المعالج أكثر ..
السؤال الآن ... هل المترجم يقوم بإختصار تلك المعادلة قبل وضعها في الclass أم أنه يضعها في الclass هكذا و المعالج يقوم بحساب القيمة كل مرة ؟؟
و هل إذا كتبت
theta = Math.PI;
أبطء من أن أكتب
theta = 3.141592653589793;
لأنه سوف يذهب لينظر في قيمة المتغير ثم يضعها في الtheta أما في النموذج الثاني سيضع الرقم مباشرة دون البحث عن المتغير ..
فهل هذا صحيح ؟؟؟
و جزاكم الله خيراً
