python字符串和数值之间转换

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值