האם הגודל של C ''int'' הוא 2 בתים או 4 בתים?

H M Hgwdl Sl C Int Hw 2 Btym W 4 Btym



הגודל של ' int ' בשפת C הוא נושא חם שלעתים קרובות גורם לבלבול במוחו של הקורא. בזמן שפותח C, הגודל של ' int ' היה 2 בתים אבל ככל שחלף הזמן ושחרור הגרסה המעודכנת, הגודל בדרך כלל הגיע 4 בתים . עם זאת, זה לא כלל קשה ומהיר, שכן הגודל של ' int יכול להשתנות בהתאם למהדר ולפלטפורמה שבה אתה משתמש לקידוד.

אם אתה מבולבל לגבי הגודל של ' int 'בין אם זה 2 בתים אוֹ 4 בתים , פעל לפי ההנחיות של מאמר זה.

האם הגודל של C 'int' הוא 2 בתים או 4 בתים

בימים הראשונים, כאשר שפת C הוצגה, הדבר היחיד שעלה בראש המפתחים היה להפוך את השפה הזו לפשוטה ככל האפשר. באותו זמן, המחשב השתמש במעבד 16 סיביות, ולכן באותו זמן, בגודל של ' int תוקן ל-2 בתים. ככל שעובר הזמן, כוח המחשוב של המערכת גדל והמפתח משנה את הגודל של ' int ' ב-C עד 4 בתים. הסיבה לכך היא לאפשר למתכנתי C להשתמש בערכים גדולים ולפתח תוכניות כוח נוספות במערכת.







אילו גורמים משפיעים על גודל '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 ” בשפה C להיות 2 בתים אוֹ 4 בתים במידה. א 2 בתים 'int' היה כובש שתיים בתים של זיכרון, כאשר הערכים שהוא יכול לאחסן מוצגים בתור -32768 ל 32767 . לעומת זאת, א 4 בתים 'int' היה כובש ארבע בתים של זיכרון, כאשר הערכים מוצגים כ -2147483648 ל 2147483647 .



עם זאת, אם נבדוק את הגודל של ' int 'בקומפיילר C++ מודרני, הוא נותן לנו את התשובה:

#include
#include
#include

int main ( int argc, char ** argv ) {
printf ( 'Int_MAX     :   %d \n ' , INT_MAX ) ;
printf ( 'int_MIN    :   %d \n ' , 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' .