هل حجم C '' int '' 2 بايت أم 4 بايت؟

Hl Hjm C Int 2 Bayt Am 4 Bayt



حجم ' int 'بلغة سي هو موضوع ساخن غالبًا ما يسبب الارتباك في ذهن القارئ. في الوقت الذي تم فيه تطوير C ، كان حجم ' int ' كان 2 بايت ولكن مع مرور الوقت وإصدار الإصدار المحدث ، وصل الحجم عادةً 4 بايت . ومع ذلك ، فهي ليست قاعدة صارمة وسريعة ، نظرًا لأن حجم ' int 'اعتمادًا على المترجم والنظام الأساسي الذي تستخدمه للترميز.

إذا كنت في حيرة من أمرك بشأن حجم ' int ' سواء كان ذلك 2 بايت أو 4 بايت ، اتبع إرشادات هذه المقالة.

هو حجم C 'int' 2 بايت أو 4 بايت

في الأيام الأولى ، عندما تم تقديم لغة C ، كان الشيء الوحيد الذي جاء في أذهان المطورين هو جعل هذه اللغة بسيطة قدر الإمكان. في ذلك الوقت ، كان الكمبيوتر يستخدم معالجًا من نوع 16 بت ، وبالتالي في ذلك الوقت ، كان حجم ' int 'تم إصلاحه إلى 2 بايت. مع مرور الوقت ، تزداد قوة حوسبة النظام ويغير المطور بعد ذلك حجم ' int 'في C إلى 4 بايت. والسبب في ذلك هو السماح لمبرمجي لغة سي باستخدام قيم كبيرة وتطوير المزيد من برامج الطاقة على النظام.







ما العوامل التي تؤثر على الحجم 'int' في C.

هناك ثلاثة عوامل تؤثر على ' int 'الحجم في C ، وهي كالتالي:



1: ال معالج النظام يؤثر بشدة على ' int ' مقاس. بالنسبة لمعمارية 32 بت ، فإن قيمة ' int 'الحجم 4 بايت. السبب هو أن البايت يتكون من 8 بتات ، لذلك إذا قمت بضرب 8 بت / بايت بـ 4 بايت ، فستكون النتيجة 32 بت.



2: ال نظام التشغيل الإصدار له أيضًا تأثير كبير على ' int 'الحجم ونظام التشغيل 64 بت سيستخدم 4 بايت' int 'أنواع. ومع ذلك ، لا يزال هذا يعتمد على عوامل أخرى مثل المترجم أو النظام الأساسي المستخدم.





3: ال مترجم يؤثر أيضًا على ' int حجم 'في C وهناك برامج التحويل البرمجي التي تسمح لمبرمجي C بتكوين حجم' int 'وفقًا لاختيارهم.

يمكن أن يكون للمجمعين تطبيقات مختلفة للغة C ، مما يعني أنهم قد يعرضون C ' int ' نوع البيانات بطرق مختلفة. الأكثر شيوعًا ، يمكن للمجمع أن يفكر في ' int 'في لغة سي 2 بايت أو 4 بايت في الحجم. أ 2 بايت 'int' سيحتل اثنين بايت من الذاكرة ، مع القيم التي يمكن تخزينها تظهر على شكل -32768 ل 32767 . في المقابل ، أ 4 بايت 'int' سيحتل أربعة بايت من الذاكرة ، مع عرض القيم على شكل -2147483648 ل 2147483647 .



ومع ذلك ، إذا تحققنا من حجم ' int 'في مترجم C ++ حديث ، يعطينا الإجابة:

# تضمين
# تضمين
# تضمين

انت مين ( int argc ، char ** أرجف ) {
printf ( 'Int_MAX:٪ d ' ، INT_MAX ) ؛
printf ( 'int_MIN:٪ d ' ، INT_MIN ) ؛
يعود 0 ؛
}

في الكود أعلاه ، نحدد حجم ' int 'باستخدام الوظائف int_MAX () و int_MIN () مما يوضح لنا أن حجم ' int ' يكون 4 بايت .

انتاج |

يقوم معظم المترجمين الحديثين بتطبيق لغة C بطريقة تجعل حجم C 'int' - 4 بايت . ومع ذلك ، لا يزال بعض المجمعين يستخدمون امتداد 2 بايت 'int' الحجم ، مما يعني أنه يجب على المطورين التأكد من التحقق من المترجم الذي يستخدمونه للتأكد من أن برنامجهم يعمل بشكل صحيح.

خاتمة

بالضبط حجم C 'int' يمكن أن يختلف نوع البيانات وفقًا للمترجم المستخدم. الأكثر شيوعًا ، هو كذلك 4 بايت ، مما يسمح بتخزين مجموعة أكبر من القيم. ومع ذلك ، لا يزال بإمكان بعض المترجمين تنفيذ لغة C بطريقة تجعل الامتداد حجم C 'int' 2 بايت. في النهاية ، يجب أن يكون المبرمج على دراية بالمترجم المستخدم لتحديد بالضبط حجم C 'int' .