Python中的十六进制值

时间:2013-04-11 01:37:03

标签: python hex

除了重要的术语外,0xFF20的单词值为-224。从int( 'FF20', 16 )开始,我得到65312

考虑到语言的高级特性,在Python中获取十六进制字符串的“单词”值的方法是什么?

2 个答案:

答案 0 :(得分:4)

如果您想要签名值,如Pantashu提到的那样,那么您可以使用ctypes

ctypes.c_short(int('FF20', 16)).value

答案 1 :(得分:3)

如果第一个字符的高位设置(8-F),则在解析后从您的值中减去值0x1000 ...(0的数量等于单词中的十六进制字符数)。

e.g。 FF20有高位设置,将其转​​换为十进制并从中减去0x10000(65536 - 65312 = -224)

您可以通过将2计算为4 *字中的十六进制字符数来计算值0x100 ....例如2 ^(4 * 4)= 65536