1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID Malan: Tak ako môže sme tento problém vyriešiť? 3 00:00:01,830 --> 00:00:05,310 No, najjednoduchší spôsob, ako je len, aby sa zabránilo ints úplne, a namiesto toho definovať 4 00:00:05,310 --> 00:00:06,960 jeden float pomocou plaváka. 5 00:00:06,960 --> 00:00:12,460 Konkrétne, poďme zmeniť 1-1,0 a 10 10,0, a potom uložiť toto 6 00:00:12,460 --> 00:00:14,380 súbor ako floats1.c. 7 00:00:14,380 --> 00:00:20,270 Poďme sa teraz skompilovať s make floats1, a spustite ho s floats1. 8 00:00:20,270 --> 00:00:22,590 A teraz som naozaj vidieť 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Je tu iný spôsob, ako by sme mohli vyriešiť je, a že sa pomocou liatia. 10 00:00:25,540 --> 00:00:29,750 Casting je proces prevedenie jednej typ dát na iný, za predpokladu, že to 11 00:00:29,750 --> 00:00:31,130 zmysel, aby tak urobili. 12 00:00:31,130 --> 00:00:34,370 V tomto prípade, čo som mohol urobiť, je vrátiť na verziu kódu, kde som 13 00:00:34,370 --> 00:00:40,050 delenie jeden v int o 10 v int, ale Mohol by som jednoznačne povedať kompilátora 14 00:00:40,050 --> 00:00:43,990 že chcem liečiť 1, ako by to plávať, aj keď je to int, a 15 00:00:43,990 --> 00:00:48,270 Rád by som k liečbe 10 ako float, aj keď to taky, je int. 16 00:00:48,270 --> 00:00:51,760 >> V skutočnosti, mohol by som dostať preč s práve liatie jeden z nich na plaváku, 17 00:00:51,760 --> 00:00:55,350 pretože ak si rozdeliť plavák by int, alebo int pomocou plaváka, bude C 18 00:00:55,350 --> 00:00:57,550 späť k vám plávajúce bodovú hodnotu. 19 00:00:57,550 --> 00:01:01,150 Ale v tomto prípade, pre správnu mieru, budem previesť ako na plaváky, překompilovat 20 00:01:01,150 --> 00:01:06,380 môj program s make floats1, potom spustiť s bodkou lomítkom floats1, 21 00:01:06,380 --> 00:01:08,770 a ja tiež vidieť 0.1. 22 00:01:08,770 --> 00:01:10,983