Menu
CoddyTech

המרת טיפוסים חלק 1

חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 14 מתוך 74.

המרת טיפוסים היא תהליך של המרת ערך מסוג נתונים אחד לאחר.

ב-C++ אפשר להמיר מספרים שלמים למספרים עשרוניים, מספרים עשרוניים למספרים שלמים ועוד. יש שני סוגים של המרה: המרה מרומזת (אוטומטית) והמרה מפורשת (ידנית).

לדוגמה Integer to Double:

המרת טיפוסים משתמעת (אוטומטית):

int number = 5;
double decimal = number; // הופך אוטומטית ל-5.0

// עם חישוב
int x = 7;
double result = x / 2.0; // result הוא 3.5

הערה: כשמחלקים שני ערכי int,‏ C++ מבצעת חלוקה של מספרים שלמים: החלק העשרוני נחתך. לדוגמה, 7 / 2 נותן 3, ולא 3.5. כדי לקבל תוצאה עשרונית, לפחות אחד האופרנדים חייב להיות מסוג double (למשל, 7 / 2.0 נותן 3.5).

המרה מפורשת (ידנית) של Double to Integer:

double decimal = 9.7;
int number = (int) decimal;  // הופך ל-9 (החלק העשרוני נקטע)

// עם חישוב
double price = 19.99;
int roundedPrice = (int) price;  // הופך ל-19

סגנון מועדף ב־C++ מודרנית: במקום המרה בסגנון C באמצעות (int) decimal, עדיף להשתמש ב־static_cast<>(), שהיא בטוחה יותר ומבהירה יותר את כוונתך:

double decimal = 9.7;
int number = static_cast<int>(decimal);  // הופך ל-9 (החלק העשרוני נחתך)

double price = 19.99;
int roundedPrice = static_cast<int>(price);  // הופך ל-19

הערה: גם (int) value וגם static_cast<int>(value) מפיקים כאן את אותה התוצאה, אבל static_cast<>() היא הגישה המומלצת ב־C++ מודרני, כי היא הופכת את ההמרה לברורה לעין והמהדר בודק אותה.

challenge icon

אתגר

מתחילים

כתבו תוכנית ב־C++ שמדגימה המרת טיפוסים. בצעו את הפעולות הבאות:

המירו את המשתנה price לטיפוס int ושמרו את התוצאה במשתנה חדש בשם intPrice.

נסו בעצמכם

    int intPrice = ?; // המרת טיפוס מפורשת מ-double ל-int
    
    
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C++ אונליין