Re: how to read in a number in hex and convert it to binary

*To*: mathgroup at smc.vnet.net*Subject*: [mg105194] Re: how to read in a number in hex and convert it to binary*From*: David Bailey <dave at removedbailey.co.uk>*Date*: Tue, 24 Nov 2009 05:47:17 -0500 (EST)*References*: <hedt4a$lks$1@smc.vnet.net>

Michael O'Hanrahan wrote: > Hi, newbie question I'm afraid, but I couldn't work out how to do this from the help. I'm using Mathematica 5.2. > > I've got a textfile containing about 30 thousand 256-digit numbers in hex. I need to read them in and work on them one by one. Reading them is fine using > > Read["hello.txt",Expression] > > Then I would like to turn each number into a fixed-length binary number, using something like > > IntegerDigits[16^^p, 2, 27] > > The problem is, this doesn't work. The argument of ^^ seems to need to be an actual number in hex, e.g. 16^A12B3, rather than a variable. > > Given that essentially ^^ is a two-argument function, is there a way to express it as such in Mathematica? > > I'm even having trouble getting the input to be accepted as a number at all . Replacing "Expression" (or "String") with "Number" or "Integer" doesn't work. > > Will be grateful for any help with this. > Thanks! > Michael > You have inputted a string - say "f8" - but you really need the string "16^^f8", which you can obtain by concatenation (the <> operator), after which ToExpression will convert that into a number for the rest of your calculation: var = "f8"; int=ToExpression["16^^" <> var] IntegerDigits[int, 2, 27] David Bailey http://www.dbaileyconsultancy.co.uk