Re: The question of equality,...
- To: mathgroup at smc.vnet.net
- Subject: [mg60571] Re: The question of equality,...
- From: ted.ersek at tqci.net
- Date: Tue, 20 Sep 2005 05:20:17 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Terry Snow wanted to know how to tell if two arbitrary precision numbers are the same even including the bits that are not known reliably. Consider the following: In[1]:= $Pre=InputForm; In[2]:= x1=N[1/10,18] Out[2]= 0.100000000000000000000000000005049`18 In[3]:= x2=x1+10^-32 Out[3]= 0.100000000000000000000000000005059`18 Others suggested using RealDigits, but it seems RealDigits doesn't tell us about digits that may be wrong. In[4]:= RealDigits[x1] Out[4]= {{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0} Instead do the following. The result is zero if and only if the numbers are the same. In[5]:= SetPrecision[x2-x1,Infinity] Out[5]= 1/81129638414606681695789005144064 ---------- Ted Ersek