一:二,八,十六进制转十进制
注意2进制对应的数## 标题值范围只能是0和1,超过范围会报错,8进制和16进制同理。
print(int('100',2)) #二进制转十进制,int('20',2) 会报错
print(int('30',8)) #八进制转十进制,int('80',8) 会报错
print(int('f0',16)) #十六进制转十进制,int('g0',16) 会报错
二:十进制转二进制、八进制、十六进制
内置函数bin、oct、hex得到的进制前面会分别带有’0b’,‘0o’,'0x’字符。
print(bin(15)) # 十进制转二进制
print(oct(15)) # 十进制转八进制
print(hex(482)) # 十进制转十六进制
或者
print(format(482,"x")) # 十进制转十六进制
print(format(15,"o")) # 十进制转八进制
print(format(15,"b")) # 十进制转二进制
三,format进制转换
b,o,d,x 分别表示 二进制、八进制、十进制、十六进制
十六进制转二进制、八进制、十进制
print('{:b}'.format(0xef)) #十六进制转二进制:11101111
print('{:o}'.format(0xef)) #十六进制转八进制:357
print('{:d}'.format(0xef)) #十六进制转十进制:239
#格式化中加'#'表示加入标识
print('{:#b}'.format(0xef)) #十六进制转二进制:0b11101111,加标识 0b
print('{:#o}'.format(0xef)) #十六进制转八进制:0o357,加标识 0o
print('{:#d}'.format(0xef)) #十六进制转十进制:239,十进制不变
八进制、十进制转二进制
print('{:b}'.format(0o357)) #八进制转二进制:11101111
print('{:b}'.format(239)) #十进制转二进制:11101111
print('{:#b}'.format(0o357)) #八进制转二进制:0b11101111,加标识 0b
print('{:#b}'.format(239)) #十进制转二进制:0b11101111,加标识 0b
十进制、八进制、二进制转十六进制
print('{:x}'.format(239)) #十进制转十六进制:ef
print('{:x}'.format(0b11101111)) #二进制转十六进制:ef
print('{:x}'.format(0o357)) #八进制转十六进制:ef
#
print('{:#x}'.format(239)) #十进制转十六进制:0xef,加标识 0x
print('{:#x}'.format(0b11101111)) #二进制转十六进制:0xef,加标识 0x
print('{:#x}'.format(0o357)) #八进制转十六进制:0xef,加标识 0x
八进制以 '0o开头',二进制以 '0b' 开头,十六进制以 '0x' 开头。