1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> SPEAKER 1: Recimo, da želim pisati program, ki natisne plovec, 3 00:00:02,700 --> 00:00:05,700 posebej rezultat delitve 1 s 10. 4 00:00:05,700 --> 00:00:08,830 No, moj prvi instinkt je, da napisati ta program, kot sledi. 5 00:00:08,830 --> 00:00:18,160 Float f enak 1 deljeno z 10, in nato tiskanje F odstotkov 0,1 F, s čimer 6 00:00:18,160 --> 00:00:22,270 ki pomeni, da bi rad za tiskanje float na eno decimalno mesto, 7 00:00:22,270 --> 00:00:26,490 backslash n vejica f. 8 00:00:26,490 --> 00:00:28,270 Pojdimo zdaj zbere ta program. 9 00:00:28,270 --> 00:00:32,980 Naredite float 0 dot slash plovec 0. 10 00:00:32,980 --> 00:00:34,140 >> No, to ni čisto v redu. 11 00:00:34,140 --> 00:00:40,210 Prepričan sem, da je 1 deljeno z 10, ali 1/10 ni 0,0, ampak 0,1, in še 12 00:00:40,210 --> 00:00:42,820 Tukaj vidim na zaslonu 0.0. 13 00:00:42,820 --> 00:00:43,860 Kaj se dogaja? 14 00:00:43,860 --> 00:00:47,790 No, izkazalo se je, da je v c, če razdelite int ga notr, 15 00:00:47,790 --> 00:00:49,090 boste dobili nazaj int. 16 00:00:49,090 --> 00:00:54,810 In tako, čeprav 1 deljeno z 10, je res 0.10, 0.1 ni mogoče vgraditi v int, 17 00:00:54,810 --> 00:00:58,930 in kaj c pa se skrajša, ali vrže proč vse, kar je po 18 00:00:58,930 --> 00:01:01,770 decimalno mesto, s čimer preneha nam s samo 0. 19 00:01:01,770 --> 00:01:04,989 >> Ampak potem, seveda, z možnostjo tiskanja f, smo navesti, da bi radi, da natisnete f 20 00:01:04,989 --> 00:01:09,260 eno decimalno mesto, in tako, da 0 je prikazan kot 0,0. 21 00:01:09,260 --> 00:01:11,540 No, očitno je to problem ki potrebuje rešitev. 22 00:01:11,540 --> 00:01:14,025