Kebanyakan orang membuat kesalahan ketika mereka melihat dua kali lipat mereka menjerit BigDecimal, padahal sebenarnya mereka baru saja memindahkan masalah ke tempat lain. Dobel memberi Tanda bit: 1 bit, Lebar eksponen: 11 bit. Presisi signifikan dan signifikan: 53 bit (52 disimpan secara eksplisit). Karena sifat ganda, semakin besar interger Anda kehilangan akurasi relatif. Untuk menghitung akurasi relatif yang kami gunakan di sini adalah di bawah.
Keakuratan relatif ganda dalam perhitungan kami menggunakan foluma 2 ^ E <= abs (X) <2 ^ (E + 1)
epsilon = 2 ^ (E-10)% Untuk pelampung 16-bit (setengah presisi)
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
Dengan kata lain Jika Anda menginginkan Akurasi +/- 0,5 (atau 2 ^ -1), ukuran maksimum angka tersebut adalah 2 ^ 52. Lebih besar dari ini dan jarak antara angka floating point lebih besar dari 0,5.
Jika Anda menginginkan keakuratan +/- 0,0005 (sekitar 2 ^ -11), ukuran maksimum angka tersebut adalah 2 ^ 42. Lebih besar dari ini dan jarak antara angka floating point lebih besar dari 0,0005.
Saya tidak bisa memberikan jawaban yang lebih baik dari ini. Pengguna akan perlu mencari tahu presisi apa yang mereka inginkan ketika melakukan perhitungan yang diperlukan dan nilai unit mereka (Meter, Kaki, Inci, mm, cm). Untuk sebagian besar kasus, float akan cukup untuk simulasi sederhana tergantung pada skala dunia yang ingin Anda tiru.
Meskipun itu sesuatu yang bisa dikatakan, jika Anda hanya ingin mensimulasikan dunia 100 meter kali 100 meter, Anda akan memiliki suatu tempat dalam urutan akurasi dekat 2 ^ -45. Ini bahkan tidak membahas bagaimana FPU modern di dalam cpu akan melakukan perhitungan di luar ukuran tipe asli dan hanya setelah perhitungan selesai mereka akan membulatkan (tergantung pada mode pembulatan FPU) ke ukuran tipe asli.