1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> SPEAKER 1: Pieņemsim, ka es gribētu rakstīt programma, kas izdrukā peldēt, 3 00:00:02,700 --> 00:00:05,700 īpaši rezultātu dalot 1 līdz 10. 4 00:00:05,700 --> 00:00:08,830 Nu, mani pirmie instinkti būtu rakstīt šo programmu šādi. 5 00:00:08,830 --> 00:00:18,160 Pludiņš f ir 1 dala ar 10, un pēc tam drukāt f no procentiem 0,1 f, tādējādi 6 00:00:18,160 --> 00:00:22,270 nozīmētu, ka es gribētu, lai drukātu peldēt ar vienu zīmi aiz komata, 7 00:00:22,270 --> 00:00:26,490 slīpsvītru n komats f. 8 00:00:26,490 --> 00:00:28,270 Pieņemsim tagad apkopo šo programmu. 9 00:00:28,270 --> 00:00:32,980 Padarīt float 0 dot slash peldēt 0. 10 00:00:32,980 --> 00:00:34,140 >> Nu, tas nav gluži taisnība. 11 00:00:34,140 --> 00:00:40,210 Es esmu diezgan pārliecināts, ka 1 dalīts ar 10, vai 1/10 nav 0,0, bet 0.1, un tomēr 12 00:00:40,210 --> 00:00:42,820 šeit es esmu redzēt uz ekrāna 0.0. 13 00:00:42,820 --> 00:00:43,860 Kas notiek? 14 00:00:43,860 --> 00:00:47,790 Nu, izrādās, ka c, ja jūs sadalīt int ar int, 15 00:00:47,790 --> 00:00:49,090 jūs saņemsiet atpakaļ int. 16 00:00:49,090 --> 00:00:54,810 Un tāpēc pat tad, ja 1 dalīts ar 10, ir patiešām 0.10, 0.1 nevar fit int, 17 00:00:54,810 --> 00:00:58,930 un tā, kādi c tas ir tas saīsina, vai met prom visu pēc 18 00:00:58,930 --> 00:01:01,770 aiz komata, tādējādi atstājot mums tikai ar 0. 19 00:01:01,770 --> 00:01:04,989 >> Bet tad, protams, ar drukas f, mēs norādīt, ka mēs gribētu, lai drukātu f uz 20 00:01:04,989 --> 00:01:09,260 vienu zīmi aiz komata, un tā, lai 0 tiek parādīts kā 0,0. 21 00:01:09,260 --> 00:01:11,540 Nu, skaidri tas ir problēma ka nepieciešams risinājums. 22 00:01:11,540 --> 00:01:14,025