Menu
Coddy logo textTech

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

חלק מהיחידה יסודות במסלול ה-C של Coddy. שיעור 13 מתוך 63.

המרת טיפוסים ב-C מאפשרת לך להמיר ערך מסוג נתונים אחד לסוג נתונים אחר. הדבר שימושי כשצריך לבצע פעולות בין סוגי נתונים שונים.

יש שני סוגים עיקריים של המרת טיפוסים:

  1. המרה משתמעת (אוטומטית)
  2. המרה מפורשת (ידנית)

נתחיל בהמרה מרומזת:

המרה משתמעת מתבצעת באופן אוטומטי כשממירים מטיפוס נתונים קטן יותר לטיפוס גדול יותר:

int num = 10;
double decimal_num;

// המרת טיפוסים מרומזת מ-int ל-double
decimal_num = num;

לאחר הרצת הקוד שלמעלה, ל־decimal_num יהיה הערך 10.0

זה עובד כי double יכול לאחסן את כל הערכים האפשריים של int בלי לאבד נתונים. ההמרה בטוחה, ולכן C מבצעת אותה באופן אוטומטי.

מסלולי המרה מרומזת נפוצים:

  • char → int → long → float → double

עכשיו נבחן המרה מפורשת:

המרה מפורשת מתבצעת ידנית על ידי הצבת סוג הנתונים הרצוי בסוגריים לפני הערך שברצונך להמיר. הדבר נחוץ בעת המרה מסוג נתונים גדול יותר לקטן יותר, שבה עלול להתרחש אובדן נתונים:

double decimal_num = 5.65;
int num;

// המרת טיפוס מפורשת מ-double ל-int
num = (int)decimal_num;

לאחר הפעלת הקוד שלמעלה, הערך של num יהיה 5

שימו לב שהחלק העשרוני נחתך (ולא מעוגל) בעת המרה מ-double ל-int. התחביר להמרה מפורשת הוא:

(target_type) value

מכיוון שהמרה זו עלולה לגרום לאובדן נתונים, C דורשת ממך לבצע אותה במפורש. כך אתה מודיע למהדר שאתה מודע לאובדן הנתונים האפשרי.

challenge icon

אתגר

קל

כתוב תוכנית ש:

  1. מכריזה על משתנה double בשם result ומגדירה את ערכו ל־5.65
  2. מכריזה על משתנה int בשם grade
  3. מקצה את הערך של result ל־grade באמצעות המרה מפורשת
  4. מדפיסה את הערך של grade עם ההודעה "The grade is: " באמצעות printf

נסו בעצמכם

#include <stdio.h>

int main() {
    double result = 5.65;
    int grade;
    
    // השתמש בהמרת טיפוסים מפורשת כדי להמיר את result מ-double ל-int ולהציב אותו ב-grade
    
    printf("The grade is: %d\n", grade);
    
    return 0;
}
quiz iconבחנו את עצמכם

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

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

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