Negative hex to int

andreas.lydersen at gmail.com andreas.lydersen at gmail.com
Wed Jun 14 19:09:57 EDT 2006


Hi!

While communicating with a monitoring unit, I get some hex values
representing degrees celcius from its probes. The values can be
something like '19' or '7d'. To convert it to int, I do the following:
---------------------------
Python 2.4.2 (#1, Sep 28 2005, 10:25:47)
[GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> int('7d', 16)
125
>>> int('19', 16)
25
>>>
---------------------------

The problem is negative values. If the unit returns the hex value 'e7',
it means -25, but python says it's 231:
---------------------------
>>> int('e7', 16)
231
---------------------------

Does anyone have a clue a to what I need to do?

Thanks!

Andreas Lydersen




More information about the Python-list mailing list