On 2012-04-27, Grant Edwards <[email protected]> wrote:
> On 2012-04-27, Paul Rubin <[email protected]> wrote:
>> python <[email protected]> writes:
>>> What to decode hex '0xC0A8' and return signed short int.
>>
>> Is this right?
>>
>> n = int('0xC0A8', 16)
>> if n >= 0xffff:
>> n -= 0x10000
>
> Yes, as long as the input value doesn't exceed 0x1ffff. This is
> probably better:
>
> n = int('0xc0a8'16) & 0xffff
Oops, missed the "signed" part of the requirement.
n = int('0xc0a8',16) & 0xffff
if (n & 0x8000): n |= -1 & ~0xffff
--
Grant Edwards grant.b.edwards Yow! It's a lot of fun
at being alive ... I wonder if
gmail.com my bed is made?!?
--
http://mail.python.org/mailman/listinfo/python-list