一般我们生活在所用到的进制位四种,二进制(0b),八进制(0o),十进制和十六进制(0x)
下面我们来用几行代码认识他们之间的相互转化:
十进制转二、八、十六进制
1.十进制转二进制===bin()
bin(10)
>>>'0b1010'
# 只获得后面的数字
bin(10)[2:]
>>>'1010'
得到的是一个str类型的数据
2.十进制转八进制===oct()
oct(10)
>>>'0o12'
# 只获得后面的数字
oct(10)[2:]
>>>'12'
3.十进制转十六进制===hex()
hex(10)
>>>'0xa'
# 只获得后面的字符
hex(10)[2:]
>>>'a'
# 将后面的字符进行大写
hex(10)[2:].upper()
>>>'A'
十六进制转十进制
int('A',16)
>>>10
int('123ABC',16)
>>>1194684
由此可以看出int的另一个作用就是进制转化为十进制
int(m,n)
m为n进制数表达的字符串,为字符型
n为该字符串的进制数,为整型(n的大小为[2:37],大于等于2,小于等于36)
利用这个原理,我们来讲十六进制转八进制
十六进制转八进制
a = int('A',16)
oct(a)
>>>'0o12'
由此我们可以利用十进制作为转折点来进行任意的改变