Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Tại sao không thể lưu chính xác 1 số kiểu float vào máy tính.
7 năm trước
858 lượt xem
2 bình luận
7 năm trước
Em có đoạn code:
Khi in ra được x = 33554432.0000 nhưng xét x == 33554433 (int) thì lại ra True.
Tại sao máy lại không lưu được chính xác giá trị trên và sao lại là True. Em cảm ơn.
Vì độ chính xác của float là 7 chữ số, nên những số sau đó sẽ bị làm tròn (xem bài số chấm động).
Lời khuyên là nên xài double thay vì float, kết quả sẽ khác.