Máy tính trực tuyến xây dựng trên JavaScript sử dụng số học dấu phẩy động đôi 64-bit, cung cấp khoảng 15 đến 17 chữ số thập phân có nghĩa. Trong thực tế, điều này có nghĩa bạn có thể tin tưởng kết quả đến khoảng chữ số thứ 15. Đối với khoa học, kỹ thuật và tài chính hàng ngày, độ chính xác này là quá đủ — nhưng không phải là vô hạn, và một vài trường hợp đặc biệt sẽ cho thấy giới hạn.
Ý nghĩa của "15 đến 17 chữ số có nghĩa" trong thực tế
Chữ số có nghĩa là những chữ số quan trọng trong một số, được đếm từ chữ số khác 0 đầu tiên. Một máy tính với độ chính xác 15 chữ số có thể xử lý giá trị như 123,456,789,012.345 một cách chính xác — tổng cộng 15 chữ số. Thêm chữ số thứ 16 hoặc 17 thì kết quả có thể lệch một đơn vị ở vị trí cuối cùng.
Điều này được định nghĩa bởi tiêu chuẩn IEEE 754 dấu phẩy động đôi, sử dụng 64 bit: 1 bit cho dấu, 11 bit cho số mũ, và 52 bit cho phần phân số (gọi là mantissa). 52 bit này tương đương khoảng log₁₀(2⁵²) ≈ 15.65 chữ số thập phân có nghĩa. Giá trị Number.EPSILON trong JavaScript, là sự khác biệt nhỏ nhất mà định dạng có thể biểu diễn, khoảng 2.22 × 10⁻¹⁶ — nhỏ hơn một phần trong một triệu tỷ.
Máy tính này xử lý độ chính xác như thế nào
Máy tính trên lưu trữ mọi giá trị trung gian với độ chính xác dấu phẩy động đôi đầy đủ trong suốt quá trình tính toán. Khi kết quả cuối cùng sẵn sàng, nó làm tròn đến 10 chữ số thập phân trước khi hiển thị. Việc làm tròn này là có chủ ý: nó loại bỏ các sai số nhỏ do dấu phẩy động (như một ...00000000004 thừa) mà nếu không sẽ xuất hiện trong các kết quả như 0.1 + 0.2. Độ chính xác 15-17 chữ số được dùng cho tính toán; việc hiển thị 10 chữ số thập phân chỉ để dễ đọc.
Khi 15 chữ số là quá đủ — và khi không phải
- Bài tập ở trường và đại học — các bài toán vật lý, hóa học và kỹ thuật hiếm khi cần hơn 6-8 chữ số có nghĩa. Độ chính xác dấu phẩy động đôi có gấp đôi số đó để dùng.
- Tính toán tài chính — giá trị tiền tệ thường có 2 chữ số thập phân; ngay cả tính toán với hàng nghìn tỷ đô la cũng chỉ cần khoảng 15 chữ số tổng cộng, nên thoải mái.
- Hằng số khoa học — tốc độ ánh sáng, số Avogadro và các giá trị tương tự chỉ được biết đến khoảng 10-12 chữ số có nghĩa từ thí nghiệm, nên máy tính không phải là yếu tố giới hạn.
- Tính toán chuỗi với nhiều số thập phân nhỏ — lỗi làm tròn có thể tích tụ qua chuỗi dài. Kết quả thường vẫn đúng đến hơn 10 chữ số, nhưng với tính toán quan trọng, công cụ chuyên dụng với độ chính xác tùy ý sẽ tốt hơn.
- Mật mã học và lý thuyết số — các lĩnh vực này thường làm việc với số nguyên có hàng trăm chữ số. Máy tính dấu phẩy động đôi tiêu chuẩn không thể biểu diễn chính xác và hoàn toàn không phù hợp.
Kiểm tra giới hạn: nhập999999999999999 + 1vào máy tính trên. Bạn sẽ nhận được1000000000000000— chính xác, vì cả hai số đều nằm trong 15 chữ số có nghĩa. Thử9999999999999999 + 1(16 số 9) và kết quả có thể không tăng như mong đợi, vì bạn đã vượt qua giới hạn mà dấu phẩy động đôi có thể biểu diễn chính xác.