python进制转换有着多种方法。

本文介绍的是python通过调用内置函数hex()、bin()、oct()、int()这四种方式进行常见的进制转换

函数见下表:

原理:先将读入的字符串x进行转换为十进制,再由十进制进行相关的转换。

注意的一点是:bin()、oct()、hex()的返回值均为字符串,且分别带有0b、0o、0x前缀。故后面在读取的时候需要舍去前缀。

以十六进制转换为例:

a = "FF"
# 十六进制转二进制
b = bin(int(a,16))[2:]
# 因为上文提过bin函数带有两位数的前缀,故加上[2:]舍去前缀
print(b)      # 11111111
# 十六进制转八进制
b = oct(int(a,16))[2:]
print(b)      # 377
# 十六进制转十进制
b = int(a,16)
print(b)      # 255

二进制转换:

a = "1011100"
# 二进制转八进制
b = oct(int(a,2))[2:]
# [2:]从第二位数开始读起
print(b)      # 134
# 二进制转十进制
b = int(a,2)
print(b)      # 92
# 二进制转十六进制
b = hex(int(a,2))[2:]
print(b)      # 5c

十进制转换:

同上可得:

a = "92"
# 十进制转二进制
b = bin(int(a,10))[2:]
# 加上[2:]从第二位数开始读起
print(b)      # 1011100
# 十进制转八进制
b = oct(int(a,10))[2:]
print(b)      # 134
# 十进制转十六进制
b = hex(int(a,10))[2:]
print(b)      # 5c

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐