ADMICRO
Cho đoạn code sau, kết quả là:
const a = 0.1;
const b = 0.2;
const c = 0.3;
console.log(a + b === c);
Chính xác
Xem lời giải
Hãy suy nghĩ và trả lời câu hỏi trước khi xem đáp án
ADSENSE / 1
Lời giải:
Báo saiNhư chúng ta đã biết trong hệ thập phân, chúng ta không thể biểu diễn chính xác 1/3 dưới dạng dấu phẩy động (floating-point). Kết quả của 0.333 + 0.333 + 0.333 không thể nào bằng 1 được.
Tương tự, trong máy tính các số được biểu diễn dưới dạng nhị phân. Đôi khi chúng chỉ biểu diễn được gần đúng số thực tế chứ không thể biểu diễn một các chính xác được, ví dụ như 0.1, 0.2 hay 0.3. Điều này dẫn đến các kết quả không mong muốn, trong trường hợp 0.1 + 0.2, kết quả ta nhận được là 0.30000000000000004.
Câu hỏi này thuộc ngân hàng trắc nghiệm dưới đây, bấm vào Xem chi tiết để làm
toàn bài
ZUNIA12
ZUNIA9
AANETWORK