通过代码实现如下转换 ?

二进制转换成十进制:v = “0b1111011”


第一种

是在二进制数前加上0b,显示时会自动转换为十进制,注意这并不是字符串

x = 0b1010
print(x)


如果是字符串可以利用eval求值

x = eval('0b1010')

第二种

是利用int函数,字符串可以以0b为前缀,也可以不使用.

int('1010',base=2)
int('0b1010',2)
ret = int('1111011', base=2)
print(ret)

ret1 = int('0b1111011', 2)
print(ret1)

十进制转换成二进制:v = 18
 

ret = bin(18)
print(ret)


八进制转换成十进制:v = “011”
 

1、

ret = eval(str(bin(0o11)))
print(ret)

2、

ret = int('011',8)
print(ret)

十进制转换成八进制:v = 30
 

ret = oct(18)
print(ret)


十六进制转换成十进制:v = “0x12”
 

ret = int('0x12',16)
print(ret)

十进制转换成十六进制:v = 87

ret = hex(87)
print(ret)

原文地址:https://www.cnblogs.com/Rivend/p/12038591.html