Float dan Double: 1/3 + 2/3 = 0,99999999…
2013-07-31 · #Programming
Rob Eamon menulis soal kenapa 1/3 + 2/3 = 0,99999999…
Beberapa kutipan:
Java Glossary karya Roedy Green (http://mindprod.com/jglossfloatingpoint.html) membahas floating point di Java cukup panjang. Ia menawarkan cara pandang kenapa developer sebetulnya tidak perlu kaget pada ketidakakuratan floating point:
[0,1 adalah pecahan berulang dalam biner.] Sama seperti pecahan berulang 1/3 = 0,33333 dalam basis 10. Ketika Anda menjumlahkan 0,333333… dengan 0,666666…, kenapa Anda tidak heran mendapat 0,999999… alih-alih 1,0, padahal yang baru saja Anda jumlahkan adalah 1/3 + 2/3 yang hasilnya 1? Toh dengan floating point di Java Anda kaget ketika 0,1 + 0,1 menghasilkan sesuatu selain 0,2.
Jelas bahwa saat memakai tipe float dan double di Java, perlu kehati-hatian agar perilakunya sesuai kebutuhan. Untuk aplikasi keuangan, tempat akurasi adalah segalanya, float dan double mungkin perlu dihindari sama sekali.
Artikel lengkapnya:
http://www.wmusers.com/ezine/2002oct1_reamon_1.shtml
versi bahasa Inggris: https://home.wordpress.com/2013/07/31/float-and-double-13-23-0-99999999/