1.10进制转换为其他进制
方法一:函数

十进制转二进制:bin(10) --> ‘0b1010’
tpye:是字符串类型 0b:表示2进制 十进制转八进制:oct(10)
–> ‘0o12’ tpye:是字符串类型
0o:表示8进制 十进制转十六进制:hex(10) --> ‘0xa’ tpye:是字符串类型 0x:表示16进制

方法二:format

‘{:b}’.format(9)
‘1001’
‘{: o}’.format(9)
‘11’

‘{:x}’.format(10)
‘a’

2.其他转换为10进制:

方法一:int()函数 int(‘0b1010’,2) --> 10 或者 int(‘1010’,2) --> 10
int(‘0o12’,8) --> 10 或者 int(‘12’,8) --> 10 int(‘0xa’,16) --> 10
或者 int(‘a’,16) --> 10 备注:int(x,y)括号中x是需要转换的数值type必须是字符串,y是当前进制数 方法二:
eval函数

eval(‘1111’) 1111
eval(‘0b1111’) 15
eval(‘0o1111’) 585
eval(‘0x1111’) 4369 备注:type必须是str且前面的进制标志(0b,0o,0x)不可少

3.将十进制转换为固定长度的多进制类型:
方法一:

‘{:08b}’.format(9)
‘00001001’

‘{:06o}’.format(9)
‘000011’

‘{:06x}’.format(9)
‘000009’
备注:’{:08b}’.format(9) # :b表示转换为二进制,08表示高位用0补够8位
方法二:

a =bin(5)[2:]
print(a)
101

c = str.zfill(a,8)
print©
00000101

a =oct(9)[2:]
print(a)
11

c = str.zfill(a,8)
print©
00000011

a =hex(20)[2:]#去掉前面0b
print(a)
14

a =hex(20)
a
‘0x14’

str.zfill(a,8)
‘00000x14’

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐