const a = 0.1; const b = 0.2; const c = 0.3; console.log(a + b === c); 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);

Cho đoạn code sau, kết quả là:

A. True

B. False

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

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

 

Thư viện tài liệu12 Tháng Bảy, 2023 @ 2:17 chiều

Đánh giá chủ đề này