Re: Serious Bug in Mathematica 7 and 8.0.4.0 (latest version)
- To: mathgroup at smc.vnet.net
- Subject: [mg126185] Re: Serious Bug in Mathematica 7 and 8.0.4.0 (latest version)
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Tue, 24 Apr 2012 05:30:49 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jn387r$g80$1@smc.vnet.net>
On 23/04/2012 10:43, Alexander Mayer wrote: > In[1]:= (* This notebook produced by Mathematica 8.0.4.0 *) > (* Platform: OSX 10.6.8 on MacBook Pro *) > > In[1]:= b = 6371.01 (* We set the value of b to this real number. *) > > Out[1]= 6371.01 > > In[2]:= SetPrecision[a = b, 20] (* We test the actual value of b. *) > > Out[2]= 6371.0100000000002183 > > In[3]:= (* Mathematica has added a small constant! *) > > In[4]:= (* Adding zeros to the 16th place fixes the problem. *) > > In[5]:= c = 6371.0100000000000000 > > Out[5]= 6371.0100000000000000 > > In[6]:= SetPrecision[a = c, 20] > > Out[6]= 6371.0100000000000000 > Your original number is a machine precision number - that means it stored as a binary floating point number. Such a number will not in general be an exact decimal number - hence the small additional constant. If you take a low precision number, there is no way for the system to conjure the extra precision information from nowhere! David Bailey http://www.dbaileyconsultancy.co.uk