DAVID מלאן: אז איך יכול אנו לפתור את הבעיה הזו? ובכן, הדרך הקלה ביותר היא פשוט להימנע ints להגדיר לגמרי, ובמקום מצוף אחד על ידי מצוף. באופן ספציפי, בואו נשנה 1-1.0 ו10-10.0, ולאחר מכן לשמור את זה להגיש כfloats1.c. בואו עכשיו לקמפל אותו עם floats1 איפור, ולאחר מכן להפעיל אותו עם floats1. ועכשיו, אני אכן רואה 0.1. יש דרך נוספת שאנחנו יכולים לפתור את זה, ושמשתמש בליהוק. ליהוק הוא התהליך של המרה אחד סוג הנתונים למשנו, בהנחה שזה הגיוני לעשות זאת. במקרה זה, מה שאני יכול לעשות זה ללכת אחורה לגרסה של קוד שבו אני חלוקת אחד בint ידי 10 בint, אבל באופן מפורש שאני יכול לומר למהדר שאני רוצה לטפל ב1 כאילו זה לצוף, למרות שזה int, ו אני רוצה להתייחס ל10 כמו לצוף, למרות שגם הוא int. במציאות, אני יכול לברוח עם רק ליהוק אחד מאלה כדי לצוף, כי אם אתה מחלק את מצוף על ידי int, או int ידי לצוף, C יהיה אחזור אליך ערך נקודה צפה. אבל במקרה הזה, למען סדר טוב, אני להמיר גם לצף, קומפילציה התכנית שלי עם floats1 איפור, ולאחר מכן להפעיל אותו עם floats1 לוכסן נקודה, ואני גם רואה 0.1.