שפת C/פעולות חשבוניות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
ShoobyD (שיחה | תרומות)
ShoobyD (שיחה | תרומות)
שורה 223:
}
</source>
להפתעתנו (או לא), התוכנית פשוט תפלוט תמיד את {{משמאל לימין|c + 32}}, שהיא שגיאה שחורגת בהרבה מסתם שגיאת עיגול. מדוע הדבר קורה? ראינו ב[[שפת C/פעולות חשבוניות#פעולות חשבוניות על שלמים ונקודות צפות|פעולות חשבוניות על שלמים ונקודות צפות]] שכל פעולה על טיפוסים שלמים מניבה תמיד תוצאה מסוג שלם. {{משמאל לימין|9 / 5}}, לכן, מתורגם ל1ל-1, ולכן מקבלים {{משמאל לימין|1 * c + 32}} בפועל.
 
נוכל לתקן זאת על ידי כך שנחליף את {{משמאל לימין|9 / 5}} ב1ב-1.8, שהוא מספר נקודה צפה:
<source lang = "c">
f = 1.8 * c + 32;