המרת טיפוסים חלק 1
חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 14 מתוך 74.
המרת טיפוסים היא תהליך של המרת ערך מסוג נתונים אחד לסוג נתונים אחר.
ב־C++ אפשר להמיר מספרים שלמים למספרים מסוג double, מספרים מסוג double למספרים שלמים ועוד. יש שני סוגים של המרה: המרה מרומזת (אוטומטית) והמרה מפורשת (ידנית).
לדוגמה 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++ מודרני, משום שהיא מציגה בבירור את ההמרה ונבדקת על ידי המהדר.
אתגר
מתחיליםכתבו תוכנית C++ שמדגימה המרת טיפוסים. בצעו את הפעולות הבאות:
המירו את המשתנה price ל־int ושמרו את התוצאה במשתנה חדש בשם intPrice.
נסו בעצמכם
#include <iostream>
int main() {
// הכריזו על משתנים ואתחלו אותם
double price = 99.99;
int intPrice = ?; // המרת טיפוס מפורשת מ-double ל-int
// הציגו את הערכים
std::cout << "Price: " << price << std::endl;
std::cout << "Int Price: " << intPrice << std::endl;
return 0;
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר הפעולהקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזותתרגלו בעצמכם: קומפיילר C++ אונליין