اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

اندازه‌ی انواع داده در C++ به چه عواملی بستگی داره؟

0 امتیاز
463 نمایش

در C++ گاهی می‌بینیم که int اندازه‌ی ۴ بایتی و گاهی ۲ بایتی داره. برای بقیه‌ی انواع داده هم این موضوع کم و بیش درسته.

سوال اینه که چه عواملی در تعیین اندازه‌ی یک نوع داده در C++ دخالت دارن؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده چهارشنبه ۵ تیر ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز
 
بهترین پاسخ

عامل اول، نحوه‌ی پیاده‌سازی زبان C++ هست. C++ قواعد استانداردی داره که برای پیاده‌سازی زبان باید رعایت بشه. هر کسی که زبان رو پیاده‌سازی می‌کنه تعدادی از این قواعد رو رعایت می‌کنه و بنابراین تاحدی به استاندارد نزدیک می‌شه. کامپایلرهایی مثل کامپایلر C++ شرکت sun صددرصد مطابق با استاندارد هستند در صورتی که کامپایلرهایی مانند کامپایلر C++ شرکت مایکروسافت کاملاً منطبق با استاندارد نیستند.

عامل دوم، ماشینی هست که زبان پیاده شده روی اون اجرا می‌شه. یعنی کامپایلر برنامه‌ی نوشته شده رو روی اون ماشین کامپایل می‌کنه. مثلاً ممکنه در یک ماشین ۳۲ بیتی کامپایلر، داده‌ی int برنامه‌ی شما رو به صورت ۳۲ بیتی کامپایل کنه و در ماشین ۱۶ بیتی به صورت ۱۶ بیتی.

عامل سوم، سیستم‌عامل مورد استفاده است. در یک ماشین ۳۲ بیتی در صورتی که از سیستم‌عامل ۳۲ بیتی استفاده بشه، کامپایلر C++ هم ممکنه عدد صحیح int رو ۳۲ بیتی در نظر بگیره. اما در صورتی که سیستم‌عامل ۱۶ بیتی باشه (مثل سیستم‌هامل داس) اون وقت کامپایلر عدد صحیح int رو ۱۶ بیتی کامپایل می‌کنه.

به طور کلی پیاده‌سازی (کامپایلر) و محیط کامپایل (ماشین و سیستم‌عامل) در تعیین اندازه نقش دارن.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۵ تیر ۱۳۹۲ توسط prodo