1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> David Malan: So, hoe kan ons los hierdie probleem? 3 00:00:01,830 --> 00:00:05,310 Wel, die maklikste manier is om net te vermy ints geheel en al, en in plaas definieer 4 00:00:05,310 --> 00:00:06,960 een float deur 'n float. 5 00:00:06,960 --> 00:00:12,460 Spesifiek, laat ons verander 1-1,0 en 10 tot 10.0 en dan slaan hierdie 6 00:00:12,460 --> 00:00:14,380 dien as floats1.c. 7 00:00:14,380 --> 00:00:20,270 Kom ons nou saam te stel met make floats1, en dan loop dit met floats1. 8 00:00:20,270 --> 00:00:22,590 En nou, ek kyk en kyk 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Daar is nog 'n manier waarop ons kan oplos dit, en dit is met behulp van giet. 10 00:00:25,540 --> 00:00:29,750 Beslissende is die proses van die omskakeling van een data tipe na 'n ander, die veronderstelling dat dit 11 00:00:29,750 --> 00:00:31,130 sin maak om dit te doen. 12 00:00:31,130 --> 00:00:34,370 In hierdie geval, is wat ek kan doen terug te gaan die weergawe van die kode waar ek 13 00:00:34,370 --> 00:00:40,050 verdeel in een int met 10 in int, maar Ek kon uitdruklik vertel die samesteller 14 00:00:40,050 --> 00:00:43,990 wat ek wil om te behandel 1 asof dit 'n dryf, selfs al is dit 'n int, en 15 00:00:43,990 --> 00:00:48,270 Ek wil graag om te behandel 10 as 'n vlot, selfs al is dit ook 'n int. 16 00:00:48,270 --> 00:00:51,760 >> In werklikheid is, kan ek wegkom met net beslissende een van hierdie na 'n vlot, 17 00:00:51,760 --> 00:00:55,350 want as jy verdeel 'n float deur 'n int, of 'n int deur 'n float, C sal 18 00:00:55,350 --> 00:00:57,550 terug te keer na 'n drywende punt waarde. 19 00:00:57,550 --> 00:01:01,150 Maar in hierdie geval, vir 'n goeie maatreƫl, ek sal omskep beide dryf, heropstel 20 00:01:01,150 --> 00:01:06,380 my program met make floats1, dan loop dit met dot streep floats1, 21 00:01:06,380 --> 00:01:08,770 en ek sien ook 0.1. 22 00:01:08,770 --> 00:01:10,983