Tại sao 0,1 0,2 không phải là 0,3 JavaScript?
Tôi đang sử dụng Javascript để hiển thị điều này nhưng so sánh dấu phẩy động này cũng có thể được nhìn thấy trong các ngôn ngữ lập trình khác, nơi chúng cũng trả về false cho so sánh này Show Mã ví dụ -
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
CẢM ƠN BẠN ĐÃ XEM BÀI VIẾT NÀY ❤❤ Bạn có thể liên hệ với tôi trên - ^^Bạn có thể giúp tôi bằng cách quyên góp ở liên kết bên dưới Cảm ơn bạn👇👇 ^^ Đồng thời kiểm tra các bài đăng này https. // nhà phát triển. to/shubhamtiwari909/tostring-in-js-27b https. // nhà phát triển. to/shubhamtiwari909/join-in-javascript-4050 https. // nhà phát triển. đến/shubhamtiwari909/đi sâu vào mảng-sort-js-2n90 Ghi chú. Đó cũng là một câu hỏi phỏng vấn mà người phỏng vấn hỏi “đầu ra bằng 0. 1 + 0. 2 == 0. 3”? Trong các câu đơn giản, lời giải thích đằng sau điều này là .
Bây giờ hãy cùng tìm hiểu lý do cụ thể đằng sau điều này .
Hãy lấy 0. 1 làm ví dụ để hiểu biểu diễn nhị phân và thập phân .
phép tính của 0. 1 thành biểu diễn nhị phân
Đại diện của 0. 1 thành dạng nhị phân là 0. 000110011001100110011001100110011001100110011001100110011001…
Do tất cả điều này, dấu thập phân có thể không cho kết quả dấu phẩy động chính xác như
Tài liệu tham khảo . Dưới đây là một số liên kết hữu ích mà bạn có thể tham khảo để có thêm kiến thức về số học dấu phẩy động trong máy tính
Tôi hy vọng điều này có thể giải đáp một số thắc mắc của bạn về lý do tại sao máy tính không trả về kết quả như mong đợi khi chúng tôi thực hiện phép toán với các số thập phân Ngoài ra, tôi tin rằng bây giờ bạn sẽ ở một vị trí tốt hơn để trả lời lại nếu ai đó hỏi bạn tại sao 0. 1 + 0. 2 không bằng 0. 3? Tại sao là 0. 1 0. 2 không bằng 0. 3 trong JS?0. 1 + 0. 2. này bằng 0. 3, nhưng ở dạng dấu phẩy động. (0. 1 + 0. 2) == 0. 3 là sai. Điều này là do 0. 1, 0. 2 và 0. 3 không thể được biểu diễn chính xác trong dấu phẩy động cơ số 2 .
đầu ra của 0 là gì. 1 0. 2 trong JavaScript?Tôi vô cùng ngạc nhiên khi biết rằng 0. 1 + 0. 2 thực sự được cho là bằng 0. 30000000000000004 trong JavaScript vì phép toán dấu phẩy động. Đây có vẻ như là một lỗi đang chờ xảy ra nhưng không có cách giải quyết rõ ràng vì đặc tả ECMAScript yêu cầu rằng 0. 1 + 0. 2 ≠ 0. 3 . |