>> 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.