1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID MALAN: Så hvordan kan vi løse dette problemet? 3 00:00:01,830 --> 00:00:05,310 Vel, er den enkleste måten bare for å unngå ints helt, og i stedet definere 4 00:00:05,310 --> 00:00:06,960 én flåte av en float. 5 00:00:06,960 --> 00:00:12,460 Nærmere bestemt, la oss endre 1 til 1,0 og 10. til 10,0, og deretter lagre denne 6 00:00:12,460 --> 00:00:14,380 fil som floats1.c. 7 00:00:14,380 --> 00:00:20,270 La oss nå kompilere den med make floats1, og deretter kjøre den med floats1. 8 00:00:20,270 --> 00:00:22,590 Og nå vil jeg faktisk se 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Det er en annen måte vi kan løse det, og det er ved hjelp av casting. 10 00:00:25,540 --> 00:00:29,750 Casting er prosessen med å konvertere en datatype til en annen, forutsatt at det 11 00:00:29,750 --> 00:00:31,130 er fornuftig å gjøre det. 12 00:00:31,130 --> 00:00:34,370 I dette tilfellet, hva jeg kunne gjøre er å gå tilbake til den versjonen av koden der jeg er 13 00:00:34,370 --> 00:00:40,050 dele en i int av 10 i int, men Jeg kunne tydelig fortelle kompilatoren 14 00:00:40,050 --> 00:00:43,990 at jeg ønsker å behandle en som om det er en flyte, selv om det er en int, og 15 00:00:43,990 --> 00:00:48,270 Jeg ønsker å behandle 10 som en dupp, selv om det også er en int. 16 00:00:48,270 --> 00:00:51,760 >> I virkeligheten, kan jeg komme unna med bare avstøpning en av disse til en flåte, 17 00:00:51,760 --> 00:00:55,350 fordi hvis du deler en dupp etter en int, eller en int med en dupp, C vil 18 00:00:55,350 --> 00:00:57,550 tilbake til deg et flyttall. 19 00:00:57,550 --> 00:01:01,150 Men i dette tilfellet, for godt mål, vil jeg konvertere både flottører, rekompilere 20 00:01:01,150 --> 00:01:06,380 mitt program med make floats1, deretter kjøre den med dot slash floats1, 21 00:01:06,380 --> 00:01:08,770 og jeg ser også 0,1. 22 00:01:08,770 --> 00:01:10,983