python字符串和数值之间转换,进制转换等
1:int函数将16进制字符串转化为10进制整数
a = “0x12”
int(a, 16)#18
int(a, 10)#error
a = “12”
int(a, 16)#18
int(a, 10)#12
2:16进制字符串转换为有符号整数 参考链接
def twos_complement(hexstr,bits):
value = int(hexstr,16)
if value & (1 << (bits-1)):
value -= 1 << bits
return value
twos_complement('FFFE',16)
-2
twos_complement('7FFF',16)
32767
twos_complement('7F',8)
127
twos_complement('FF',8)
-1
3:负数转换为16进制字符串参考链接
def tohex(val, nbits):
return hex((val + (1 << nbits)) % (1 << nbits))
print tohex(-199703103, 64)#0xfffffffff418c5c1L
print tohex(199703103, 64) #0xbe73a3fL
本文详细介绍了Python中字符串与数值之间的转换方法,包括如何使用int函数进行不同进制的转换,如从16进制到10进制,以及如何处理有符号整数和负数的16进制表示。通过具体示例展示了twos_complement和tohex函数的实现,帮助读者掌握Python在数据类型转换方面的高级应用。

被折叠的 条评论
为什么被折叠?



