1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID Malan: Niisiis, kuidas saab me seda probleemi lahendada? 3 00:00:01,830 --> 00:00:05,310 Noh, kõige lihtsam viis on lihtsalt vältida ints kokku, ja selle asemel määratleda 4 00:00:05,310 --> 00:00:06,960 üks float poolt sularahaga. 5 00:00:06,960 --> 00:00:12,460 Täpsemalt Muudame 1-1,0 ja 10-10,0, ja salvestage see 6 00:00:12,460 --> 00:00:14,380 fail nagu floats1.c. 7 00:00:14,380 --> 00:00:20,270 Olgem nüüd kompileerida make floats1, ja seejärel käivitage see floats1. 8 00:00:20,270 --> 00:00:22,590 Ja nüüd, ma tõesti näha 0,1. 9 00:00:22,590 --> 00:00:25,540 >> On veel üks viis, kuidas me saaksime lahendada , ja mis kasutab casting. 10 00:00:25,540 --> 00:00:29,750 Casting on protsess konverteeriva üks andmete tüübist teise, isegi kui see 11 00:00:29,750 --> 00:00:31,130 mõttekas teha. 12 00:00:31,130 --> 00:00:34,370 Sel juhul, mida ma võiks teha, on minna tagasi versioonile kood, kus ma olen 13 00:00:34,370 --> 00:00:40,050 jagades ühe int 10 int, kuid Ma võiks selgelt öelda, koostaja 14 00:00:40,050 --> 00:00:43,990 et ma tahan ka 1, nii nagu see on float, kuigi see on keskmine, ja 15 00:00:43,990 --> 00:00:48,270 Ma tahaks, et ravida 10 nagu float, kuigi see on ka see int. 16 00:00:48,270 --> 00:00:51,760 >> Tegelikult, ma ei pääse lihtsalt casting üks neist, et float, 17 00:00:51,760 --> 00:00:55,350 sest kui sa jagad float poolt int või int poolt float, C, 18 00:00:55,350 --> 00:00:57,550 tagasi sa ujukoma väärtust. 19 00:00:57,550 --> 00:01:01,150 Aga sel juhul, hea meede, ma tulen teisendada nii et ujukid, kompileeri 20 00:01:01,150 --> 00:01:06,380 minu programmi make floats1, siis käivitada koos dot kaldkriipsuga floats1, 21 00:01:06,380 --> 00:01:08,770 ja ma ka näha 0,1. 22 00:01:08,770 --> 00:01:10,983