Ví dụ:Trình biên dịch C và C++ thực hiện quyết định bình đẳng cho các số phao như thế nào?
float a = 1.0;
float b = 1.2;
puts(a == b? "equal": "not equal");
Trình biên dịch có xử lý một chút hoặc bằng một số phương pháp khác không?
(Tôi biết nó không phải là một lựa chọn tốt để quyết định sự bình đẳng của số dấu chấm động bởi "==", tôi chỉ muốn biết làm thế nào một giao dịch biên dịch với tình trạng này.)
Sự khác biệt giữa bitwise và theo giá trị là gì? Chắc chắn chúng giống nhau đối với phao nổi –
@EdHeal đúng, vấn đề được chỉnh sửa – Wizmann
Tất cả các số dấu phẩy động được lưu trữ trong ** Định dạng điểm nổi IEEE-754 **. Chúng là ** 32-bit ** (điểm nổi chính xác đơn) hoặc ** 64-bit ** (điểm nổi chính xác gấp đôi). Có nghĩa là có một số nguyên tương đương với mỗi số dấu phẩy động dựa trên các bit trong bộ nhớ. Trình biên dịch xử lý nó giống như cách nó thực hiện một số nguyên có kích thước tương đương. Xem: [** Hướng dẫn nổi điểm - Điều mà mọi lập trình viên nên biết ... **] (http://floating-point-gui.de/) –