MathGroup Archive 1995

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ReadDigits

  • To: mathgroup at christensen.cybernetics.net
  • Subject: [mg1760] Re: ReadDigits
  • From: m.cafaro at agora.stm.it (Massimo)
  • Date: Wed, 26 Jul 1995 00:50:12 -0400
  • Organization: I.Net S.p.A.

In article <3ui5a6$231 at news0.cybernetics.net>, insshc at gsusgi2.gsu.edu
(Samuel H. Cox) wrote:

> The function RealDigits[x, b] returns a list of two items.  For example,
> 
> RealDigits[Pi //N]
> {{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3}, 1}
> 
> What is the inverse of this function?  That is, given the base b, a list
> {...} of base b digits, and an interger n, how do we elegantly obtain x for
> which RealDigits[x, b] = {{...},n}?
> 
> ==================================
> Samuel H. Cox
> insshc at gsusgi2.gsu.edu
> Department of Risk Management and Insurance
> Georgia State University
> PO Box 4036
> Atlanta, GA 30302-4036
> 404-651-4854 (o)
> 404-651-4219 (f)

The code below solve the problem. It can be improved to gain elegance.

Inv[b_,list_,n_]:=Module[{d,nber,x},
d=Dimensions[list][[1]];
nber=0;
Do[x=list[[i]];
nber=N[nber+x*10^(n-i),d],{i,d}];Print[nber]];

Here is the Mathematica session:

RealDigits[Pi//N]
{{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 9}, 1}

l=%[[1]]
{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 9}

Inv[b_,list_,n_]:=Module[{d,nber,x},
d=Dimensions[list][[1]];
nber=0;
Do[x=list[[i]];
nber=N[nber+x*10^(n-i),d],{i,d}];Print[nber]];

Inv[10,l,1]
3.141592653589793238

I hope this is ok. Bye.

Massimo Cafaro
m.cafaro at agora.stm.it


  • Prev by Date: Comparison of MMA on Various Machines
  • Next by Date: Re: How to apply EdgeForm to ParametricPlot3D? (correction)
  • Previous by thread: On::none: Message SeriesData::csa not found.
  • Next by thread: Re: ReadDigits