1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID מלאן: אז איך יכול אנו לפתור את הבעיה הזו? 3 00:00:01,830 --> 00:00:05,310 ובכן, הדרך הקלה ביותר היא פשוט להימנע ints להגדיר לגמרי, ובמקום 4 00:00:05,310 --> 00:00:06,960 מצוף אחד על ידי מצוף. 5 00:00:06,960 --> 00:00:12,460 באופן ספציפי, בואו נשנה 1-1.0 ו10-10.0, ולאחר מכן לשמור את זה 6 00:00:12,460 --> 00:00:14,380 להגיש כfloats1.c. 7 00:00:14,380 --> 00:00:20,270 בואו עכשיו לקמפל אותו עם floats1 איפור, ולאחר מכן להפעיל אותו עם floats1. 8 00:00:20,270 --> 00:00:22,590 ועכשיו, אני אכן רואה 0.1. 9 00:00:22,590 --> 00:00:25,540 >> יש דרך נוספת שאנחנו יכולים לפתור את זה, ושמשתמש בליהוק. 10 00:00:25,540 --> 00:00:29,750 ליהוק הוא התהליך של המרה אחד סוג הנתונים למשנו, בהנחה שזה 11 00:00:29,750 --> 00:00:31,130 הגיוני לעשות זאת. 12 00:00:31,130 --> 00:00:34,370 במקרה זה, מה שאני יכול לעשות זה ללכת אחורה לגרסה של קוד שבו אני 13 00:00:34,370 --> 00:00:40,050 חלוקת אחד בint ידי 10 בint, אבל באופן מפורש שאני יכול לומר למהדר 14 00:00:40,050 --> 00:00:43,990 שאני רוצה לטפל ב1 כאילו זה לצוף, למרות שזה int, ו 15 00:00:43,990 --> 00:00:48,270 אני רוצה להתייחס ל10 כמו לצוף, למרות שגם הוא int. 16 00:00:48,270 --> 00:00:51,760 >> במציאות, אני יכול לברוח עם רק ליהוק אחד מאלה כדי לצוף, 17 00:00:51,760 --> 00:00:55,350 כי אם אתה מחלק את מצוף על ידי int, או int ידי לצוף, C יהיה 18 00:00:55,350 --> 00:00:57,550 אחזור אליך ערך נקודה צפה. 19 00:00:57,550 --> 00:01:01,150 אבל במקרה הזה, למען סדר טוב, אני להמיר גם לצף, קומפילציה 20 00:01:01,150 --> 00:01:06,380 התכנית שלי עם floats1 איפור, ולאחר מכן להפעיל אותו עם floats1 לוכסן נקודה, 21 00:01:06,380 --> 00:01:08,770 ואני גם רואה 0.1. 22 00:01:08,770 --> 00:01:10,983