1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID MALAN: Λοιπόν, πώς μπορεί μπορούμε να λύσουμε αυτό το πρόβλημα; 3 00:00:01,830 --> 00:00:05,310 Λοιπόν, ο ευκολότερος τρόπος είναι μόνο για να αποφευχθεί ints συνολικά, και αντί να ορίζουν 4 00:00:05,310 --> 00:00:06,960 ένα πλωτήρα από έναν πλωτήρα. 5 00:00:06,960 --> 00:00:12,460 Συγκεκριμένα, ας αλλάξουμε 1 - 1,0 και 10 έως 10,0, και στη συνέχεια να αποθηκεύσετε αυτή 6 00:00:12,460 --> 00:00:14,380 αρχείο ως floats1.c. 7 00:00:14,380 --> 00:00:20,270 Ας δούμε τώρα το υπολογίσουν με make floats1, και στη συνέχεια να τρέξει με floats1. 8 00:00:20,270 --> 00:00:22,590 Και τώρα, εγώ πραγματικά βλέπεις 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Υπάρχει ένας άλλος τρόπος που θα μπορούσε να λύσει αυτό, και αυτό είναι με τη χρήση χύτευσης. 10 00:00:25,540 --> 00:00:29,750 Casting είναι η διαδικασία μετατροπής ενός τύπο δεδομένων στο άλλο, αν υποτεθεί ότι 11 00:00:29,750 --> 00:00:31,130 έχει νόημα να το πράξουν. 12 00:00:31,130 --> 00:00:34,370 Σε αυτή την περίπτωση, τι θα μπορούσα να κάνω είναι να πάω πίσω με την έκδοση του κώδικα όπου είμαι 13 00:00:34,370 --> 00:00:40,050 διαιρώντας το σε int από 10 σε int, αλλά Θα μπορούσα να πω ρητά τον compiler 14 00:00:40,050 --> 00:00:43,990 ότι θέλουν να θεραπεύσουν 1 σαν να είναι ένα float, ακόμα κι αν είναι ένα int, και 15 00:00:43,990 --> 00:00:48,270 Θα ήθελα να αντιμετωπίζουν 10 ως float, παρότι, επίσης, είναι ένας int. 16 00:00:48,270 --> 00:00:51,760 >> Στην πραγματικότητα, θα μπορούσε να ξεφύγει με μόνο χύτευση ένα από αυτά σε μια float, 17 00:00:51,760 --> 00:00:55,350 γιατί αν διαιρέσετε ένα πλωτήρα από ένα int, int ή από έναν πλωτήρα, C θα 18 00:00:55,350 --> 00:00:57,550 να επιστρέψει σε εσάς ένα Μιατιμήκινητήςυποδιαστολής. 19 00:00:57,550 --> 00:01:01,150 Αλλά στην περίπτωση αυτή, για το καλό μέτρο, εγώ θα μετατρέπουν τόσο για πλωτήρες, recompile 20 00:01:01,150 --> 00:01:06,380 το πρόγραμμά μου με κάνουν floats1, στη συνέχεια, τρέχει με dot κάθετος floats1, 21 00:01:06,380 --> 00:01:08,770 και εγώ επίσης να δείτε 0.1. 22 00:01:08,770 --> 00:01:10,983