DAVID J. Malan: Như bạn đã biết, nhiệt độ được đo bằng cách sử dụng quy mô khác nhau trong khác nhau nơi trên thế giới. Ví dụ, 212 độ F là 100 độ C và 32 độ Phi Luân Hải là 0 độ C. Nó sẽ không được tốt đẹp nếu chúng ta có một máy tính chương trình mà cho phép chúng tôi chuyển đổi từ, nói, Phi Luân Hải để C? Vâng, chúng ta có thể viết chương trình đó. Trước tiên hãy bắt đầu với bao gồm cs50.h, để chúng tôi có thể sử dụng một chức năng được gọi là được thả nổi, trong đó, như get int, được một số từ người sử dụng, nhưng lần này là một số điểm nổi - một với một dấu thập phân. Chúng ta hãy cũng bao gồm tiêu chuẩn io.h để chúng tôi có thể truy cập các chức năng như in f. Và chúng ta hãy cũng tuyên bố chính theo cách thông thường. Chúng ta hãy tiếp theo nhắc nhở người dùng nhiệt độ trong Fahrenheit. Hãy bây giờ thực sự có được nhiệt độ từ người sử dụng, đầu tiên khai báo một biến được gọi là f kiểu float. Một float, một lần nữa, có nghĩa là một biến các cửa hàng một giá trị dấu chấm động, một với một dấu thập phân. Chúng ta hãy gán cho nó trở lại giá trị nhận được phao. Và sau đó chúng ta hãy làm một chút về số học vào nó, lần đầu tiên tuyên bố nổi khác được gọi là C cho C và lưu trữ trong C Kết quả của một số số học thông thường. 5,0 chia cho 9,0 lần F trừ 32.0. Bây giờ hãy in kết quả tính toán này. phần trăm f - nghĩa một giữ chỗ cho nổi giá trị điểm - dấu phẩy C để in ra nhiệt độ trong C. Hãy lưu cuối cùng của tôi. Biên dịch với F C. Khởi động chương trình với dấu chấm dấu gạch chéo F C. Và chúng ta hãy thử những chung nhiệt độ. 212 độ Fahrenheit trong là 100 độ C. 32 độ trong Phi Luân Hải là 0 độ C trong. Bây giờ cho phép tinh chỉnh chương trình này một chút bit bằng cách không in khá nhiều số 0 sau đó số thập phân. Để làm điều này, tôi sẽ quay lại dòng 11. Và thay vì chỉ định phần trăm f, Tôi sẽ thay vì chỉ định, nói, 0,1 f, thông báo in e rằng tôi chỉ muốn in một giá trị dấu chấm động để một giá trị sau chữ số thập phân. Hãy lưu lại chương trình của tôi. Biên dịch lại nó với make F C. Sau đó, chạy lại nó với dấu chấm dấu gạch chéo F C. Và chúng ta hãy thử lại với, nói, 212, mang đến cho tôi 100.0. Bây giờ nó có giá trị lưu ý rằng tôi đã làm một cái gì đó rất cố tình trong dòng 9. Chú ý tôi đã viết 5 là 5.0, 9 như 9.0, và thậm chí 32 như 32,0. Vâng, lần đầu tiên hai của những giá trị đã rất cố tình lựa chọn là giá trị dấu chấm động, không chỉ vì nhất quán với phần còn lại của chương trình của tôi - trong đó bao gồm rõ ràng nổi các giá trị điểm - nhưng bởi vì nó chỉ ra rằng C, Nếu bạn chia một int bởi int khác, kết quả câu trả lời bạn sẽ nhận được là chính nó là một int, ngay cả khi điều đó có nghĩa phải vứt bỏ tất cả mọi thứ sau dấu thập phân. Nói cách khác, nếu tôi thay đổi 5.0 này 5 hoặc 9.0 này đến 9 và sau đó lưu lại chương trình của tôi, biên dịch lại với make F đến C, và sau đó chạy nó với dấu chấm dấu gạch chéo F C và gõ vào một đầu vào giống như 212, nhận thấy rằng các câu trả lời tôi sẽ được thời gian này thực sự là hoàn toàn sai lầm. 0.0 không phải là mức độ chính xác trong C là 212 Fahrenheit. Vâng, những gì đang xảy ra? Vâng, trong dòng 9, vì 5 bây giờ là một số nguyên và vì 9 bây giờ là một số nguyên, kết quả toán học nên được 0,5555 và như vậy. Nhưng bởi vì kết quả, theo Quy tắc C, có phải là một int, mà 0,5555 được vứt bỏ, để lại cho chúng ta chỉ là 0. Vì vậy, cuối cùng, tôi kết thúc nhân khá tình cờ 0 lần f trừ 32,0, đó là không có vấn đề gì luôn luôn cho tôi 0. Vì vậy, hãy nhớ, bất cứ lúc nào bằng cách sử dụng giá trị dấu chấm động trong gần nhau của ints, bạn có thể không nhất thiết phải nhận được câu trả lời để bạn mong đợi. Và để chăm sóc sử dụng, như tôi đã làm trong giá trị hợp đầu tiên, dấu chấm động suốt để tránh bất kỳ vấn đề như vậy.