2009/3/1 bill lam <cbill....@gmail.com>:
> On Sun, 01 Mar 2009, Morten Welinder wrote:
>> > After upgraded to 1.9.4. Diff the gnumeric file with the previous
>> > 1.8.3
>>
>> This is deliberate.  We need to store enough decimals to ensure
>> that the number we had will come back unchanged.  The number
>
> This is incorrect. The number pairs have the same bit pattern using
> ieee 754 standard so that they are equal.

No, it is correct, but  you skipped this: "The number of decimals needed
depends on what number we're trying to write, so we're just using the
minimal number that fits all possible numbers."

> From what I can see in your message, previous versions did not
> deliberately find the minimum digit representation of floating point
> number within the limit of ieee 754 standard.

Correct.  We need 17 digits for "double":

welin...@toshiba:~/gnome/gnumeric> perl -e 'printf "%.17g\n", 1+2**-52;'
1.0000000000000002
welin...@toshiba:~/gnome/gnumeric> perl -e 'printf "%.16g\n", 1+2**-52;'
1

But, yes, for 5925.57 it would have been enough to use 16.

We used to use 15 (I think), so we actually used to drop the occasional
bit.  Not Good[tm].  Somewhat embarrassing, in fact.

Morten
_______________________________________________
gnumeric-list mailing list
gnumeric-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gnumeric-list

Reply via email to