الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معلومات بسيطة محتاجيتها عن المتغيرات في ال C++

بدأه raja2 في 2 أغسطس 2008 · 6 رد · 931 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكـ :blush: ــم

ال data types انواع

integral : int , long , short , char

Floating_Point : Float , Double

User_defined : Structur , Ennemeration , Classes

انا محتاجة اعرف عدد ال

bits

لكل نوع

مثلا ال int === 16 bit

أظن مش متأكدة

لذلكـ ازا سمحتوا

بدي تحكولي عدد ال bits

لكل نوع

integral

&

Floating point

وشكرا سلـــف :)

#2

الا يوجد خبير أو مجيب

؟؟؟؟؟

#3

أنظر للمثال التالي:

  1.  
  2. #include <cstdlib>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.  
  10. cout<<"int "<<"Size is :"<<sizeof(int/*ضع النوع الذي تريد هنا وسوف تعيد لك الدالة قياسه*/)<
    <" byte"<<endl;
  11.  
  12. system("PAUSE");
  13. return EXIT_SUCCESS;
  14. }
  15.  
  16.  

tvquran_6.gif

#4

في المترجمات الخاصة الـ32bit :

char == __int8 == BYTE == 8bit
short == __int16 == WORD == 16bit
int == long == __int32 == DWORD == 32bit
LONGLONG == __int64 == QWORD == 64bit
float == DWORD == 32bit
double == QWORD == 64bit
long double == TBYTE == 80bit

Float/double/long double يتم اجراء العمليات عليهم من خلال الـFPU .

لاحظ انني اتكلم عن مترجمات الـ32بت لأن بعض الانواع يتغير طولها مع تغير نوع المترجم والبعض الاخر يظل ثابتاً .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#5
اقتباس
لأن بعض الانواع يتغير طولها مع تغير نوع المترجم والبعض الاخر يظل ثاب

أنا لاحظت هذه النقطه, ولكن لم افهم سببها, فلما سألت دكتوري عنها اجاب "Microsoft is stupid" , لكن الجواب لم يكن مقنعا بما فيه الكفاية... هل هناك من سبب اكثر اقناعا :wink:

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#6

مشكورين

انا بستخدم c++/6

:)

مشكورين جدا

#7

ما دخل مايكروسوفت في هذا الأمر ؟؟

أنا اتكلم ان بعض الـData types مثل int مثلا يتغير حجمها من 16bit compiler الى 32bit الى 64bit الى ما شاء الله ...

هذا شئ طبيعي فحجم المسجلات في الـCPU يتغير وبالتالي يتبعه تغير في حجم الـData types .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…