1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> ΟΜΙΛΗΤΗΣ 1: Ας υποθέσουμε ότι θα ήθελα να γράψω ένα πρόγραμμα που τυπώνει έναν πλωτήρα, 3 00:00:02,700 --> 00:00:05,700 Συγκεκριμένα το αποτέλεσμα της διαιρέσεως 1 από 10. 4 00:00:05,700 --> 00:00:08,830 Λοιπόν, η πρώτη μου ένστικτα θα ήταν να γράψω αυτό το πρόγραμμα ως εξής. 5 00:00:08,830 --> 00:00:18,160 Float f ισούται με 1 διαιρείται με 10, και, στη συνέχεια, εκτύπωση στ τοις εκατό .1 f, έτσι 6 00:00:18,160 --> 00:00:22,270 που σημαίνει ότι θα ήθελα να εκτυπώσετε ένας πλωτήρας με ένα δεκαδικό ψηφίο, 7 00:00:22,270 --> 00:00:26,490 backslash n κόμμα f. 8 00:00:26,490 --> 00:00:28,270 Ας τώρα να μεταγλωττίσετε το πρόγραμμα αυτό. 9 00:00:28,270 --> 00:00:32,980 Κάντε float 0 dot κάθετος float 0. 10 00:00:32,980 --> 00:00:34,140 >> Λοιπόν, αυτό δεν είναι απόλυτα σωστό. 11 00:00:34,140 --> 00:00:40,210 Είμαι αρκετά βέβαιος ότι το 1 διαιρούμενο με το 10, ή 1/10 δεν είναι 0.0, αλλά 0.1, και όμως 12 00:00:40,210 --> 00:00:42,820 εδώ βλέπω στην οθόνη 0.0. 13 00:00:42,820 --> 00:00:43,860 Τι συμβαίνει; 14 00:00:43,860 --> 00:00:47,790 Λοιπόν, αποδεικνύεται ότι στο γ, αν διαιρέσετε έναν int με int, 15 00:00:47,790 --> 00:00:49,090 μπορείτε να πάρετε πίσω ένα int. 16 00:00:49,090 --> 00:00:54,810 Και έτσι ακόμα κι αν 1 διαιρείται με 10 είναι Πράγματι, 0.10, 0.1, δεν μπορεί να χωρέσει σε έναν int, 17 00:00:54,810 --> 00:00:58,930 και ναι, ποια c δεν είναι περικόπτει, ή πετάει οτιδήποτε μετά το 18 00:00:58,930 --> 00:01:01,770 δεκαδικό ψηφίο, αφήνοντας έτσι μας με μόλις 0. 19 00:01:01,770 --> 00:01:04,989 >> Στη συνέχεια, όμως, φυσικά, με την εκτύπωση f, έχουμε διευκρινίζει ότι θα θέλαμε να εκτυπώσετε f για να 20 00:01:04,989 --> 00:01:09,260 ένα δεκαδικό ψηφίο, και έτσι ώστε 0 εμφανίζεται ως 0,0. 21 00:01:09,260 --> 00:01:11,540 Λοιπόν, προφανώς αυτό είναι ένα πρόβλημα ότι χρειάζεται μια λύση. 22 00:01:11,540 --> 00:01:14,025