1. 十进制转为其它进制
1. 十进制转为二进制
print(bin(4)) # 输出0b100
print('{0:b}'.format(4)) # 输出100
2. 十进制转为八进制
print(oct(8)) #输出0o10
print('{0:o}'.format(8)) # 输出10
3. 十进制转十六进制
print(hex(15)) # 输出0xf
print('{0:x}'.format(15)) # 输出f
2. 其它进制转十进制
1. 二进制转为十进制
# int('要转换的字符串',制定进制)
print(int('1010', 2)) # 输出10
print(eval('0b1010')) # 输出10
print('{0:d}'.format(0b1010)) # 输出10
2. 八进制转为十进制
print(int('14', 8)) # 输出12
print(eval('0o14')) # 输出12
print('{0:d}'.format(0o14)) # 输出12
3. 十六进制转为十进制
print(int('10', 16)) # 输出16
print(eval('0x10')) # 输出16
print('{0:d}'.format(0x10)) # 输出16
注意
hex()函数格式化字符串比format()慢,不推荐使用。
eval()函数比hex慢,不推荐使用。
3. 二进制、八进制以及十六进制之间的转换
- 借助十进制
print(bin(int('0xf', 16))) # 输出0b1111
- 函数直接转换
print(bin(0xa)) # 输出0b1010
print(oct(0xa)) # 输出0o12
print(hex(0b1010)) #输出0xa