1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID MALAN: Deci, cum se poate am rezolva această problemă? 3 00:00:01,830 --> 00:00:05,310 Ei bine, cel mai simplu mod este de doar pentru a evita int defini cu totul, și în schimb 4 00:00:05,310 --> 00:00:06,960 un float de un float. 5 00:00:06,960 --> 00:00:12,460 În mod special, să schimbăm 1-1.0 și 10 - 10.0, iar apoi salvați acest 6 00:00:12,460 --> 00:00:14,380 fișier ca floats1.c. 7 00:00:14,380 --> 00:00:20,270 Să-l acum compila cu make floats1, și apoi rulați-l cu floats1. 8 00:00:20,270 --> 00:00:22,590 Și acum, eu văd într-adevăr 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Există un alt fel, am putea rezolva l, și care este utilizarea de turnare. 10 00:00:25,540 --> 00:00:29,750 Turnarea este procesul de conversie una tip de date la altul, presupunând că 11 00:00:29,750 --> 00:00:31,130 are sens să facă acest lucru. 12 00:00:31,130 --> 00:00:34,370 În acest caz, ceea ce am putea face este să mergeți înapoi la versiunea de cod în cazul în care sunt 13 00:00:34,370 --> 00:00:40,050 împărțind unul din int de 10 în Int, dar Aș putea spune în mod explicit compilatorului 14 00:00:40,050 --> 00:00:43,990 care doresc să trateze o de parcă ar fi o float, chiar dacă este un int, și 15 00:00:43,990 --> 00:00:48,270 Aș dori pentru a trata 10, ca un float, chiar dacă, de asemenea, este un int. 16 00:00:48,270 --> 00:00:51,760 >> În realitate, am putut să scape cu doar turnare una dintre acestea la un flotor, 17 00:00:51,760 --> 00:00:55,350 pentru că dacă împărțiți un float de un Int, sau o int de un float, C va 18 00:00:55,350 --> 00:00:57,550 întoarce la tine o valoare în virgulă mobilă. 19 00:00:57,550 --> 00:01:01,150 Dar, în acest caz, pentru o bună măsură, voi converti atât de flotoare, recompilați 20 00:01:01,150 --> 00:01:06,380 programul meu de make floats1, apoi rulați-l cu punct floats1 slash, 21 00:01:06,380 --> 00:01:08,770 și văd, de asemenea, 0.1. 22 00:01:08,770 --> 00:01:10,983