1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> SPEAKER 1: Předpokládejme, že bych chtěl napsat program, který vytiskne float, 3 00:00:02,700 --> 00:00:05,700 konkrétně výsledek dělení 1. do 10.. 4 00:00:05,700 --> 00:00:08,830 No, moje první instinkt by bylo tento program napsat takto. 5 00:00:08,830 --> 00:00:18,160 Float f se rovná 1 děleno 10, a poté vytisknout f procent .1 f, a tím 6 00:00:18,160 --> 00:00:22,270 znamenat, že bych chtěl vytisknout plovák na jedno desetinné místo, 7 00:00:22,270 --> 00:00:26,490 zpětné lomítko n čárka f. 8 00:00:26,490 --> 00:00:28,270 Pojďme se nyní zkompilovat tento program. 9 00:00:28,270 --> 00:00:32,980 Zkontrolujte float 0 bodů lomítko plovák 0. 10 00:00:32,980 --> 00:00:34,140 >> No, to není tak docela pravda. 11 00:00:34,140 --> 00:00:40,210 Jsem si docela jistý, že 1 děleno 10, nebo 1/10 je to 0,0, ale 0,1, a přesto 12 00:00:40,210 --> 00:00:42,820 Zde vidím na obrazovce 0.0. 13 00:00:42,820 --> 00:00:43,860 Co se děje? 14 00:00:43,860 --> 00:00:47,790 No, ukázalo se, že v c, jestliže rozdělit int o int, 15 00:00:47,790 --> 00:00:49,090 dostanete zpět int. 16 00:00:49,090 --> 00:00:54,810 A tak i přesto, 1 děleno 10 je dokonce 0,10, 0,1 nevejde do int, 17 00:00:54,810 --> 00:00:58,930 a tak to, co c to je to zkrátí, nebo zahodí vše, co po 18 00:00:58,930 --> 00:01:01,770 desetinné místo, čímž ponechává nám se právě 0. 19 00:01:01,770 --> 00:01:04,989 >> Ale pak, samozřejmě, s potiskem f, my určit, že bychom chtěli vytisknout f na 20 00:01:04,989 --> 00:01:09,260 jedno desetinné místo, a tak, aby 0 se zobrazí jako 0.0. 21 00:01:09,260 --> 00:01:11,540 No, jasně se jedná o problém který potřebuje řešení. 22 00:01:11,540 --> 00:01:14,025