السلام عليكم
المتغير : تحجز ماكن في الذاكرة ؟ كيف يحجز او لماذ يحجز ؟
الحجم 32-bit وماذ تعني 32-bit
مجال القيم -2147483648..2147483647 ماذ تعني ؟
وعليكم السلام ورحمة الله وبركاتة
اولا بالنسبة لـ 32 bit هذا نوع نظام اي الويندوز ,, انظمة الويندوز تنقسم الى نواتين واحدة 32 bit و الثانية 64 bit
يمكنك الذهاب الى الكمبيوتر وتظغط عليه خصائص وسوف تلاحظ انه مكتوب نوع النظام هنااك
اما المتغيرات [URL="http://www.delphi4arab.net/forum/showthread.php?tid=531"]
[دورة دلفي للعرب] الدرس الثاني : المتغيرات و الثوابت[/URL]
بانسبة لي النوات معروفة
An Integer whose size is guaranteed to be 32 bits
على حسب كلامك . يعني لو استخدمة هاذ الامر ضمن برنامجي انه لا يتشغل الى على النوات < 32
السلام عليكم و رحمة الله و بركاته
- أرأيت لماذا قلت أسئلة بسيطة تحتاج توضيح مفاهيم
![[صورة: icon10.gif]](http://www.delphi4arab.net/forum/images/icons/icon10.gif)
...
1- سأشرح ببساطة و بشكل سطحي , نكتب كود بسيط يجمع متغيرين ذو طبيعة حقيقية (أعداد بدون فاصلة) :
كود :
procedure TForm1.Button1Click(Sender: TObject);
Var
{متغيرات محلية}
A: Integer;
B: Integer;
C: Integer;
begin
A:= 17; //إسناد قيمة لـ A
B:= 88; //إسناد قيمة لـ B
C:= A + B; // جمع المتغيروينA,B
ShowMessage('A + B = ' + IntToStr(C)); //عرض المجموع C في رسالة
end;
2- تحليل الكود,كيف ينفذ المعالج هذا الكود :
كود :
...
MOV EAX,11 // $11 = 17
MOV EDX,58 // $58 = 88
LEA EBX,DWORD PTR DS:[EDX+EAX] // EBX = $11 + $58 = $69 (105)
...
3- الآن , لينفذ المعالج كود معين (مجموعة خطوات) عن طريق RI أو الريجيسترات الداخلية .... الخ
كيف ؟ (حسب الكود الأول في دلفي), يضع القيمة $11 في المسجل Eax (
مسجل 32 Bit) يصبح
المسجل هكذا : 0001 0001 = Eax , أيضا المسجل 1000 0101 = Edx
يعني تم تخصيص 32Bit = 4 Byte للمتغير A الذي خزن القيمة 17 فيها .
- الأن النتيجة عدد صحيح A + B , يسند لـ C بهذا الشكل :
كود :
LEA EBX,DWORD PTR DS:[EDX+EAX]
1001 0110 = Ebx أي النتيجة التي ستعرض في الرسالة 105
- 64/32/16 bit حسب معمارية المعالج .
اهلا مشرفنا الغالي
اصبحت فيها لغة الالة على العموم بدأت تتضح لي الفكرة
اخي يعني يتم تحويل الكود الخاص با دلفي
الى لغة الالة حتى يتم تنفيدها
وهنا المتغير A من نوع Integer يعني 32Bit
32Bit = Byte4
يعرف المتغير على انه قيمة تحفظ في ذاكرة الجهاز . وتختلف المساحة المحجوزة باختلاف نوع المتغير
اخي سوالي نفترض انه برنامج كبير جداا .
ويحتوي على اكثر من الاف القيم يعني سعة المحجوزة في البرنامج اكثر من الذكرة الذي استخدمه انا
هل برنامج يشتغل على جهازي ام لا ؟