Hầu hết mọi người đều mắc lỗi khi họ nhìn thấy gấp đôi họ hét BigDecimal, trong khi thực tế họ vừa chuyển vấn đề sang nơi khác. Double cho Dấu bit: 1 bit, Độ rộng số mũ: 11 bit. Độ chính xác đáng kể: 53 bit (52 được lưu trữ rõ ràng). Do tính chất của double, toàn bộ interger bạn mất độ chính xác tương đối lớn hơn. Để tính độ chính xác tương đối, chúng tôi sử dụng ở đây là dưới đây.
Độ chính xác tương đối của gấp đôi trong tính toán, chúng tôi sử dụng foluma sau 2 ^ E <= abs (X) <2 ^ (E + 1)
epsilon = 2 ^ (E-10)% Cho độ nổi 16 bit (độ chính xác một nửa)
Accuracy Power | Accuracy -/+| Maximum Power | Max Interger Value
2^-1 | 0.5 | 2^51 | 2.2518E+15
2^-5 | 0.03125 | 2^47 | 1.40737E+14
2^-10 | 0.000976563 | 2^42 | 4.39805E+12
2^-15 | 3.05176E-05 | 2^37 | 1.37439E+11
2^-20 | 9.53674E-07 | 2^32 | 4294967296
2^-25 | 2.98023E-08 | 2^27 | 134217728
2^-30 | 9.31323E-10 | 2^22 | 4194304
2^-35 | 2.91038E-11 | 2^17 | 131072
2^-40 | 9.09495E-13 | 2^12 | 4096
2^-45 | 2.84217E-14 | 2^7 | 128
2^-50 | 8.88178E-16 | 2^2 | 4
Nói cách khác, nếu bạn muốn Độ chính xác là +/- 0,5 (hoặc 2 ^ -1), kích thước tối đa mà số có thể là 2 ^ 52. Bất kỳ lớn hơn này và khoảng cách giữa các số dấu phẩy động lớn hơn 0,5.
Nếu bạn muốn độ chính xác là +/- 0,0005 (khoảng 2 ^ -11), kích thước tối đa mà số có thể là 2 ^ 42. Bất kỳ lớn hơn giá trị này và khoảng cách giữa các số dấu phẩy động lớn hơn 0,0005.
Tôi thực sự không thể đưa ra một câu trả lời tốt hơn thế này. Người dùng sẽ cần tìm ra độ chính xác mà họ muốn khi thực hiện phép tính cần thiết và giá trị đơn vị của chúng (Mét, Bàn chân, Inch, mm, cm). Đối với phần lớn các trường hợp, float sẽ đủ cho các mô phỏng đơn giản tùy thuộc vào quy mô của thế giới mà bạn đang nhắm đến để mô phỏng.
Mặc dù đó là điều cần nói, nhưng nếu bạn chỉ nhắm đến việc mô phỏng một thế giới 100 mét x 100 mét thì bạn sẽ có một nơi nào đó theo thứ tự chính xác gần 2 ^ -45. Điều này thậm chí còn không đi sâu vào việc FPU hiện đại bên trong cpu sẽ thực hiện các phép tính bên ngoài kích thước loại gốc và chỉ sau khi tính toán hoàn tất, chúng sẽ làm tròn (tùy thuộc vào chế độ làm tròn của FPU) với kích thước loại gốc.