Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are 21 million bitcoins and they divide down to 8dp, so you need 16 decimal digits to represent them exactly. Coincidentally (?) double precision floating point is capable of precisely representing exactly 16 decimal digits.

http://en.wikipedia.org/wiki/Double_precision

So using double is in fact perfectly OK in this case.



16 digits of precision != 16 digits of accuracy.


Doubles are capable of accurately and precisely representing 16 digit decimal numbers.


Not 10^100 + 0.0000000000000001


A 116 digit number is not a 16 digit number.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: