1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> Tagapagsalita 1: Ipagpalagay na nais kong isulat isang program na prints out ng float, 3 00:00:02,700 --> 00:00:05,700 partikular na ang resulta ng paghahati 1 sa pamamagitan ng 10. 4 00:00:05,700 --> 00:00:08,830 Well, sa aking unang instincts ay magiging sa sumulat sa programang ito tulad ng sumusunod. 5 00:00:08,830 --> 00:00:18,160 Float f ay katumbas ng 1 hinati sa 10, at pagkatapos ay i-print f ng porsiyento .1 f, at sa gayon 6 00:00:18,160 --> 00:00:22,270 signifying na nais kong i-print isang float sa isa decimal lugar, 7 00:00:22,270 --> 00:00:26,490 backslash n kuwit f. 8 00:00:26,490 --> 00:00:28,270 Ngayon compile ng program na ito Hayaan. 9 00:00:28,270 --> 00:00:32,980 Gumawa ng float 0 tuldok slash float 0. 10 00:00:32,980 --> 00:00:34,140 >> Well, na hindi masyadong tama. 11 00:00:34,140 --> 00:00:40,210 Ako ay medyo sigurado na 1 hinati sa 10, o 1/10 ay hindi 0.0, ngunit 0.1, at pa 12 00:00:40,210 --> 00:00:42,820 dito ako nakakakita sa screen 0.0. 13 00:00:42,820 --> 00:00:43,860 Ano kaya ang nangyari? 14 00:00:43,860 --> 00:00:47,790 Well, ito ay lumiliko out na sa c, kung mong hatiin ang isang int sa pamamagitan ng isang int, 15 00:00:47,790 --> 00:00:49,090 ka makabalik sa isang int. 16 00:00:49,090 --> 00:00:54,810 At kaya kahit 1 hinati sa 10 ay sa katunayan 0.10, 0.1 ay hindi maaaring magkasya sa isang int, 17 00:00:54,810 --> 00:00:58,930 at kaya kung ano ang c ay ito truncates, o throws ang layo ng lahat pagkatapos ng 18 00:00:58,930 --> 00:01:01,770 decimal lugar, at sa gayon ay nag-iiwan amin na may 0 lang. 19 00:01:01,770 --> 00:01:04,989 >> Ngunit pagkatapos, siyempre, na may naka-print na f, namin tukuyin na nais naming i-print ang f sa 20 00:01:04,989 --> 00:01:09,260 Isang decimal lugar, at sa gayon ay 0 ay ipinakita bilang 0.0. 21 00:01:09,260 --> 00:01:11,540 Well, malinaw na ito ay isang problema na nangangailangan ng solusyon. 22 00:01:11,540 --> 00:01:14,025