Theo như tôi nhớ về lập trình, tôi được dạy không nên so sánh các số dấu phẩy động cho đẳng thức. Bây giờ, trong khi đọc Lập trình trong Lua về number
loại Lua , tôi thấy như sau:
Loại số đại diện cho số thực (dấu phẩy động chính xác kép). Lua không có loại số nguyên, vì nó không cần nó. Có một quan niệm sai lầm phổ biến về các lỗi số học dấu phẩy động và một số người lo ngại rằng ngay cả một mức tăng đơn giản cũng có thể trở nên kỳ lạ với các số có dấu phẩy động. Thực tế là, khi bạn sử dụng một số kép để biểu thị một số nguyên, không có lỗi làm tròn nào cả (trừ khi số lớn hơn 100.000.000). Cụ thể, một số Lua có thể đại diện cho bất kỳ số nguyên dài nào mà không làm tròn các vấn đề. Hơn nữa, hầu hết các CPU hiện đại thực hiện số học dấu phẩy động nhanh như (hoặc thậm chí nhanh hơn) số học số nguyên.
Điều đó có đúng với tất cả các ngôn ngữ không? Về cơ bản nếu chúng ta không vượt quá điểm nổi trong đôi, chúng ta có an toàn về số học không? Hoặc, để phù hợp hơn với tiêu đề câu hỏi, có điều gì đặc biệt mà Lua làm với number
loại của nó để nó hoạt động tốt như cả số nguyên và loại dấu phẩy động không?