MathGroup Archive 2001

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

Search the Archive

converting hex strings

  • To: mathgroup at smc.vnet.net
  • Subject: [mg27413] converting hex strings
  • From: maarten.vanderburgt at icos.be
  • Date: Sun, 25 Feb 2001 00:53:36 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Hallo,

I have a list of hexadecimal strings (read from a hex string text file):
e.g. {"01a0", "fffe", "0080"} representing integers.
How can I convert such a list to integers so that I get {416, 4094, 128}?
I cannot make a function using something like

hextoint = 16^^#&

or

hextoin = 16^^ToExpression[#]&

I get errors like below:

In[44]:= hexstr = "a1b0"
         t = ToExpression[hexstr];
         16^^t
General::"digit": "Digit at position \!\(1\) in \!\(\"t\"\) is too large to
\
be used in base \!\(16\)."

Where does this error come from?

While this works ok:
In[43]:= 16^^a1b0
Out[43]= 41392

The ToExpression[ ] also would give problems: ToExpression["01a0"] returns
0.

Has anyone done anything along these lines?

How would I have to convert a hex list representing floats (IEEE floating
point standard)?, e.g. {"42c8000", "3dfcd35b", "bf80000"} which should
convert to {100.0, 0.12345, -1.0} in a decimal notation.

Thanks for your help

Maarten

-------------------------------------------
Maarten van der Burgt

Icos Vision Systems
Esperantolaan 9
B-3001 Leuven
Belgium
-------------------------------------------




  • Prev by Date: Re: How to define a polyfunction?
  • Next by Date: Re: Re: page breaks ?
  • Previous by thread: Re: Integration problem
  • Next by thread: Re: converting hex strings