1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> SPEAKER 1: Antag Jeg vil gerne skrive et program, der udskriver en float, 3 00:00:02,700 --> 00:00:05,700 specifikt resultat at dividere 1 med 10. 4 00:00:05,700 --> 00:00:08,830 Nå, ville mine første instinkter være at skrive dette program som følger. 5 00:00:08,830 --> 00:00:18,160 Float f er lig med 1 divideret med 10 og derefter udskrive f procent 0,1 f, hvorved 6 00:00:18,160 --> 00:00:22,270 hvilket signalerer, at jeg gerne vil udskrive en float til én decimal, 7 00:00:22,270 --> 00:00:26,490 backslash n komma f.. 8 00:00:26,490 --> 00:00:28,270 Lad os nu kompilere dette program. 9 00:00:28,270 --> 00:00:32,980 Gør float 0 dot skråstreg float 0. 10 00:00:32,980 --> 00:00:34,140 >> Nå, det er ikke helt rigtigt. 11 00:00:34,140 --> 00:00:40,210 Jeg er helt sikker på, at 1 divideret med 10, eller 1/10 er ikke 0,0, men 0,1 og endnu 12 00:00:40,210 --> 00:00:42,820 her jeg ser på skærmen 0,0. 13 00:00:42,820 --> 00:00:43,860 Hvad sker der? 14 00:00:43,860 --> 00:00:47,790 Tja, det viser sig, at i C, hvis du opdele en int med en int, 15 00:00:47,790 --> 00:00:49,090 du kommer tilbage en int. 16 00:00:49,090 --> 00:00:54,810 Og så selvom 1 divideret med 10 er ja 0,10, kan 0,1 ikke passer ind i en int, 17 00:00:54,810 --> 00:00:58,930 og så hvad c gør det afkorter, eller smider alt efter 18 00:00:58,930 --> 00:01:01,770 decimal, og derved efterlader os med kun 0. 19 00:01:01,770 --> 00:01:04,989 >> Men så, selvfølgelig, med print f, vi angive, at vi gerne vil udskrive f til 20 00:01:04,989 --> 00:01:09,260 én decimal, og så at 0 vises som 0,0. 21 00:01:09,260 --> 00:01:11,540 Nå, det er helt klart et problem der har brug for en løsning. 22 00:01:11,540 --> 00:01:14,025