1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID Malan: Taigi, kaip galima mes išspręsti šią problemą? 3 00:00:01,830 --> 00:00:05,310 Na, paprasčiausias būdas yra tiesiog, kad būtų išvengta ints apskritai, o vietoj to nustatyti 4 00:00:05,310 --> 00:00:06,960 viena plūdė per avansinę. 5 00:00:06,960 --> 00:00:12,460 Tiksliau, galime pakeisti 1-1,0 ir 10 10.0, ir tada įrašyti šį 6 00:00:12,460 --> 00:00:14,380 failą kaip floats1.c. 7 00:00:14,380 --> 00:00:20,270 Leiskite dabar kaupia jį su make floats1, ir paleisti jį su floats1. 8 00:00:20,270 --> 00:00:22,590 Ir dabar, aš iš tikrųjų pamatyti 0,1. 9 00:00:22,590 --> 00:00:25,540 >> Yra dar vienas būdas, kaip mes gali išspręsti tai, ir tai naudojant liejimo. 10 00:00:25,540 --> 00:00:29,750 Liejimo yra konvertuoti vieną procesą duomenų tipas į kitą, darant prielaidą, kad 11 00:00:29,750 --> 00:00:31,130 prasminga daryti. 12 00:00:31,130 --> 00:00:34,370 Šiuo atveju, ką aš galėčiau padaryti, tai grįžti prie kodo versiją, kur aš 13 00:00:34,370 --> 00:00:40,050 dalijant vieną int iki 10 tarpt, bet Galėčiau aiškiai pasakyti kompiliatorių 14 00:00:40,050 --> 00:00:43,990 kad aš noriu elgtis kaip 1, nors tai plaukti, nors tai int ir 15 00:00:43,990 --> 00:00:48,270 Norėčiau gydyti 10 kaip plūdės, nors ji taip pat yra int. 16 00:00:48,270 --> 00:00:51,760 >> Iš tikrųjų, aš galėtų išeiti tik su liejimo vieną iš šių prie plūdės, 17 00:00:51,760 --> 00:00:55,350 nes jei padalinti plūdę iki int ar pagal avansinę int C temperatūroje 18 00:00:55,350 --> 00:00:57,550 grįžti į jumis slankiojo kablelio. 19 00:00:57,550 --> 00:01:01,150 Tačiau šiuo atveju, gera priemonė, aš konvertuoti tiek plūdės, perkompiliuoti 20 00:01:01,150 --> 00:01:06,380 mano programa su make floats1, tada paleisti jį dot slash floats1, 21 00:01:06,380 --> 00:01:08,770 ir aš taip pat žr 0,1. 22 00:01:08,770 --> 00:01:10,983