Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1995
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1995

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

Search the Archive

Re: ReadDigits

  • To: mathgroup at christensen.cybernetics.net
  • Subject: [mg1756] Re: ReadDigits
  • From: wagner at bullwinkle.cs.Colorado.EDU (Dave Wagner)
  • Date: Wed, 26 Jul 1995 00:48:08 -0400
  • Organization: University of Colorado, Boulder

In article <3ui5a6$231 at news0.cybernetics.net>,
Samuel H. Cox <insshc at gsusgi2.gsu.edu> 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}?

Here's one:


In[70]:=
    unRealDigits[{mantissa_, exponent_}, radix_:10] :=
    With[{r = N[radix]},
	    Fold[r #1 + #2 &, 0, mantissa] /
	    r ^ (Length[mantissa]-exponent)
    ]

In[71]:=
    RealDigits[N[Pi]]
Out[71]=
    {{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3}, 1}

In[72]:=
    unRealDigits[%]
Out[72]=
    3.14159

In[73]:=
    RealDigits[N[Pi], 8]
Out[73]=
    {{3, 1, 1, 0, 3, 7, 5, 5, 2, 4, 2, 1, 0, 2, 6, 4, 3, 0}, 1}

In[74]:=
    unRealDigits[%, 8]
Out[74]=
    3.14159

In[75]:=
    % == %%%
Out[75]=
    True

		Dave Wagner
		Principia Consulting
		(303) 786-8371
		dbwagner at princon.com
		http://www.princon.com/princon


  • Prev by Date: Re: Simple problem for math wiz
  • Next by Date: Re: Re: projected gradient
  • Previous by thread: Re: ReadDigits
  • Next by thread: Re: How to apply EdgeForm to ParametricPlot3D? (correction)