1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID Malan: Vậy làm thế nào có thể chúng ta giải quyết vấn đề này? 3 00:00:01,830 --> 00:00:05,310 Vâng, cách đơn giản nhất là chỉ để tránh ints hoàn toàn, và thay vào đó xác định 4 00:00:05,310 --> 00:00:06,960 một phao bởi một phao. 5 00:00:06,960 --> 00:00:12,460 Cụ thể, chúng ta hãy thay đổi 1-1,0 và từ 10 đến 10,0, và sau đó lưu này 6 00:00:12,460 --> 00:00:14,380 nộp như floats1.c. 7 00:00:14,380 --> 00:00:20,270 Bây giờ chúng ta biên dịch nó với make floats1, và sau đó chạy nó với floats1. 8 00:00:20,270 --> 00:00:22,590 Và bây giờ, tôi thực sự thấy 0.1. 9 00:00:22,590 --> 00:00:25,540 >> Có một cách khác chúng ta có thể giải quyết nó, và đó là sử dụng đúc. 10 00:00:25,540 --> 00:00:29,750 Đúc là quá trình chuyển đổi một kiểu dữ liệu khác, giả sử nó 11 00:00:29,750 --> 00:00:31,130 có ý nghĩa để làm như vậy. 12 00:00:31,130 --> 00:00:34,370 Trong trường hợp này, những gì tôi có thể làm là quay trở lại phiên bản mã nơi tôi 13 00:00:34,370 --> 00:00:40,050 chia một trong int 10 trong int, nhưng Tôi có thể nói một cách rõ ràng các trình biên dịch 14 00:00:40,050 --> 00:00:43,990 mà tôi muốn để điều trị 1 như thể nó là một nổi, mặc dù nó là một int, và 15 00:00:43,990 --> 00:00:48,270 Tôi muốn để điều trị 10 như một phao, mặc dù nó cũng là một int. 16 00:00:48,270 --> 00:00:51,760 >> Trong thực tế, tôi có thể nhận được ngay với chỉ đúc một trong những nổi một, 17 00:00:51,760 --> 00:00:55,350 bởi vì nếu bạn chia một phao bởi một int, hoặc một int bởi một phao, C sẽ 18 00:00:55,350 --> 00:00:57,550 trả lại cho bạn một giá trị dấu chấm. 19 00:00:57,550 --> 00:01:01,150 Nhưng trong trường hợp này, biện pháp tốt, tôi sẽ chuyển đổi cả hai để phao, biên dịch lại 20 00:01:01,150 --> 00:01:06,380 chương trình của tôi với make floats1, sau đó chạy nó với dấu chấm dấu gạch chéo floats1, 21 00:01:06,380 --> 00:01:08,770 và tôi cũng thấy 0.1. 22 00:01:08,770 --> 00:01:10,983