I didn't finish a broader point but when considering this:
Or, slightly different, the bytes in a JSON serialized
number are chosen such that they refer to a single specific
value that a double can represent.
The important point to understand is that we're mapping from one
infinite set onto a finite set. An easy way to see this is by
reflecting on this:
1.0 == 1.00 == 1.000 = 1.(infinite zeroes)
Obviously a computer can't hold infinite bytes (as much as my
sister-in-law wishes for those pictures of my nephew) so we have to
decimate our infinitely sized set to a finite set that can be
represented concisely.
On Tue, Feb 19, 2013 at 9:01 PM, Jens Alfke wrote:
>
> On Feb 19, 2013, at 12:46 PM, Luca Morandini wrote:
>
>> Well, there it goes my academic track paper on CouchDB and GeoCouch for FOSS4G '13 :(
>
> Are roundoff errors on the order of one part in 2^56 really a deal-breaker for your application? I mean, 17.300000000000000711 does _look_ ugly compared to 17.3, but the difference is completely negligible for most purposes. Have you worked out how many significant figures of accuracy you need, and are the results correct to within those significant figures?
>
> Jens