Double là gì trong C
Việt Cuponi 70 đã đăng: Mình thử chia một phép tính sử dụng hai kiểu dữ liệu float và double như sau: float a = 8.0 / 3.0; double b = 8.0 / 3.0; cout << a << endl; // = 2.66667 cout << b << endl; // = 2.66667Kết quả trả về là như nhau, vậy có sự khác nhau gì giữa float hoặc double hay không, nếu kết quả là như nhau tại sao lại dùng thêm double trong khi chỉ cần một trong hai? c/c++ lập trình kiểu dữ liệu Bỏ theo dõi
Việt Cuponi đã hỏi 3.3 năm trước bởi Việt Cuponi 70 thêm bình luận... xuans2huy 490 đã đăng: float với double là hai kiểu dữ liệu hoàn toàn khác nhau, sự khác nhau ở đây chính là số bits được dùng để biểu diễn và miền giá trị của chúng. float Số bits biểu diễn: 32 Miền giá trị: 1.17549e-38 ~ 3.40282e+38 double Số bits biểu diễn: 64 bits Miền giá trị: 2.22507e-308 ~ 1.79769e+308
Kiểm tra bằng cách chạy chương trình sau: #includeKết quả của phép chia ở đoạn code bạn chạy thử nghiệm là như nhau bởi vì nó đã được rút gọn chỉ còn lại độ chính xác 5 chữ số, nếu bạn dùng hàm precision() để mở rộng độ chính xác, khi đó kết quả sẽ khác biệt, kiểu dữ liệu double sẽ cho kết quả chính xác hơn. xuans2huy đã đăng 3.3 năm trước bởi Rất chi tiết và đầy đủ, cảm ơn bạn rất nhiều. Việt Cuponi Việt Cuponi 08.10.2018thêm bình luận... Member3491 0 đã đăng: Miền giá trị của double rộng hơn float Member3491 đã đăng 3.3 năm trước bởi Member3491 0 Bạn có thể mô tả bằng mã nguồn không, bởi khi mình xuất hai giá trị ra màn hình, kết quả đều như nhau. Việt Cuponi Việt Cuponi 07.10.2018thêm bình luận... |