print自动转
a = 0xa6 # 十六进制 开头那个是数字零
b = 0o37 # 八进制
c = 23 # 十进制
d = 0b10011 # 二进制
'''
用print顺序输出后,结果自动转为十进制数:
166
31
23
19
'''
十进制转其他
转二进制的函数:bin()。0b是二进制的前缀。
转八进制的函数:oct() 。0o是八进制的前缀。
转十六进制的函数:hex()。0x是十六进制的前缀。
a=bin(10) #10进制转为2进制
b=oct(10) #10进制转为8进制
c=hex(95) #10进制转为16进制
'''
顺序输出a,b,c:
0b1010
0o12
0x5f
'''
其他转十进制
a=int("1001",2)
b=int('57', 8)
c=int('ff', 16)
'''
顺序输出a,b,c:
9
47
255
'''
除了上述这样常见的,int还可以这么玩,前提是语句不出错
a=int(“324”,7)
b=int(‘26’, 12)
c=int(‘ff’, 16)
d=int(‘ff’, 20)
结果分别是:165;30;255;315
# 数值是对的,只不过类型是字符型
a = 0x5fac01
b = 0xe3
c = 0o73
d = 0b1001
print(str(a))
print(str(b))
print(str(c))
print(str(d))
其他进制之间的互转
#2进制到8进制
a1=oct(0b1011)
#2进制到16进制
a2=hex(0b10101111)
#8进制到2进制
b1=bin(0o257)
#8进制到16进制
b2=hex(0o23)
#16进制到2进制
c1=bin(0xaf)
#16进制到8进制
c2=oct(0xaf)
'''
顺序输出:
0o13
0xaf
0b10101111
0x13
0b10101111
0o257
'''