Re: Re: Is there a simple way to transform 1.1 to 11/10?
- To: mathgroup at smc.vnet.net
- Subject: [mg93049] Re: [mg93006] Re: Is there a simple way to transform 1.1 to 11/10?
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Fri, 24 Oct 2008 02:33:52 -0400 (EDT)
- References: <gdkajv$4r2$1@smc.vnet.net> <200810220941.FAA00792@smc.vnet.net>
You are oversimplifying it a bit or maybe be a few bits ;-) Actually, it is quite possible for a program like Mathematica running on a binary computer to use the common mathematical convention in which 1.0001 *means* exactly the same as thing 10001/10000. Note I am not saying that it is desirable, just possible. Not only is this possible, but there are quite popular CAS systems that do precisely that. And, you may perhaps recall, that there was once a contributor to this list who used to cause quite a lot of uproar stubbornly pressing precisely this point. He was not some naive pure mathematician ignorant of modern computers but a former employee of Wolfram Research and the author of some packages some people are still using. So wanting to do this does not necessarily mean that one has no idea how modern computer work. Personally I like the way things work at present. Everything Szabolcs and others have written is of course correct but the question of whether it is possible to transform decimal expressions which in mathematica represent approximate numbers into the exact fractions which they are normally taken to be equal to in ordinary school mathematics is a sensible one, and the answer is that yes, it can be done, though not surprisingly there is no very "simple" way of doing so that the OP asked for. Andrzej Kozlowski On 22 Oct 2008, at 18:41, Jens-Peer Kuska wrote: > Hi, > > yes, you need a new computer, that does not use > the binary system, because 1.000000001 can't repesented > as exact number in the binary system (it has an > infinite periodic representation, that must be truncated). > When I remember right, on of the first Russian computers > (approx. 1950) worked with base 3. May be you found one in a > museum. > > Regards > Jens > > > > Alain Cochard wrote: >> The obvious >> >> In[1]:= x=1.1`Infinity >> >> is not syntactically correct. >> >> I understand that SetPrecision[1.1,Infinity] does not work either: >> >> In[3]:= SetPrecision[1.1,Infinity] >> >> 2476979795053773 >> Out[3]= ---------------- >> 2251799813685248 >> >> In[4]:= N[%,20] >> >> Out[4]= 1.1000000000000000888 >> >> I searched the newsgroup and thought I had the solution with >> Rationalize: >> >> In[5]:= Rationalize[1.1,0] >> >> 11 >> Out[5]= -- >> 10 >> >> But >> >> In[9]:= Rationalize[1.000000001,0] >> >> 999999918 >> Out[9]= --------- >> 999999917 >> >> In[10]:= N[%,20] >> >> Out[10]= 1.0000000010000000830 >> >> So any simple way? >> >> Thanks, >> Alain >> >
- References:
- Re: Is there a simple way to transform 1.1 to 11/10?
- From: Jens-Peer Kuska <kuska@informatik.uni-leipzig.de>
- Re: Is there a simple way to transform 1.1 to 11/10?