hex to bin 16 bit word
Grant Edwards
invalid at invalid.invalid
Fri Apr 27 16:02:29 EDT 2012
On 2012-04-27, Grant Edwards <invalid at invalid.invalid> wrote:
> 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
or this:
if (n & 0x8000): n = -((~n & 0x7fff) + 1)
--
Grant Edwards grant.b.edwards Yow! I'm definitely not
at in Omaha!
gmail.com
More information about the Python-list
mailing list