On 2012-04-27, Grant Edwards <invalid@invalid.invalid> wrote: > On 2012-04-27, Paul Rubin <no.email@nospam.invalid> wrote: >> python <w.g.sned...@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?!? -- http://mail.python.org/mailman/listinfo/python-list