Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1996
*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 1996

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

Search the Archive

Re: Inverse of IntegerDigits? and "Index" function?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg3958] Re: Inverse of IntegerDigits? and "Index" function?
  • From: espen.haslund at fys.uio.no (Espen Haslund)
  • Date: Sat, 11 May 1996 23:53:31 -0400
  • Organization: Universitet i Oslo
  • Sender: owner-wri-mathgroup at wolfram.com

In article <4menl1$jva at dragonfly.wolfram.com>, pehowland at taz.dra.hmg.gb says...
;>
;>Excuse me if I'm being particularly inept this morning, but can anyone offer
;>any help on the following problems please?
;>
;>Inverse of IntegerDigits
;>========================
;>I'm playing around with some binary numbers, and am using IntegerDigits
;>to convert from a decimal integer to the binary notation.  eg.
;>        In[1]:= IntegerDigits[10,2]
;>        Out[1]= {1,0,1,0}
;>
;>What is the function to convert back? eg. I want to do
;>        In[2]:= DigitsToInteger[{1,0,1,0},2]
;>and get
;>        Out[2]= 10
;>I've scoured the manual and can't find the function.  This led me to
;>try to write my own function, which identified another problem...
;>
;>"Index" Function
;>================
;>Writing a function to convert back is easy in principle, eg.
;>  
;> DigitsToInteger[x_,n_] := Apply[Plus[Map[(#*n^(Index[#]-1))&, Reverse[x]]]]
;>
;>would do the trick, but I seem to require a function, that I've called
;>Index[] here, that when Map[]'d across a list returns the position of
;>each element.  Thus I want a function that works as follows:
;>
;>        In[3]:= Map[Index[#]&, {2,6,3,9,10,2,4}]
;>        Out[3]= {1,2,3,4,5,6,7}
;>
;>But I can't seem to find this function either!
;>
;>For the moment I'm using the following more Fortran-like function, which
;>works, but disturbs my sensibilities:
....
;>Any suggestions?
;>
Hi, Paul: 

I think your Index function is impossible to implement.

I hope that the function below does what you want:

DigitsToInteger[x_,n_] :=  Plus @@ (Table[n^i,{i,Length[x],1,-1}]*x)

-Espen




==== [MESSAGE SEPARATOR] ====


  • Prev by Date: Re: Re: Not[OddQ] is not the same as EvenQ (sometimes)
  • Next by Date: Re: Inverse of IntegerDigits? and "Index" function?
  • Previous by thread: Inverse of IntegerDigits? and "Index" function?
  • Next by thread: Re: Inverse of IntegerDigits? and "Index" function?