hex to bin 16 bit word

Grant Edwards invalid at invalid.invalid
Fri Apr 27 15:57:34 EDT 2012


On 2012-04-27, Grant Edwards <invalid at invalid.invalid> wrote:
> On 2012-04-27, Paul Rubin <no.email at nospam.invalid> wrote:
>> python <w.g.sneddon at gmail.com> 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?!?



More information about the Python-list mailing list