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
-------------------------------------------