python-->二进制的用法

 1 1.10进制转换为其他进制
 2 方法一:函数
 3   十进制转二进制:bin(10) --> '0b1010' tpye:是字符串类型 0b:表示2进制
 4   十进制转八进制:oct(10) --> '0o12'   tpye:是字符串类型 0o:表示8进制
 5 十进制转十六进制:hex(10) --> '0xa'    tpye:是字符串类型 0x:表示16进制
 6 方法二:format
 7 >>> '{:b}'.format(9)
 8 '1001'
 9 >>> '{:o}'.format(9)
10 '11'
11 >>> '{:x}'.format(10)
12 'a'
13 
14 2.其他转换为10进制:
15 方法一:int()函数
16 int('0b1010',2) --> 10 或者 int('1010',2) --> 10  
17 int('0o12',8)   --> 10 或者 int('12',8)   --> 10  
18 int('0xa',16)   --> 10 或者 int('a',16)   --> 10
19 备注:int(x,y)括号中x是需要转换的数值type必须是字符串,y是当前进制数
20 方法二: eval函数
21 >>> eval('1111')
22 1111
23 >>> eval('0b1111')
24 15
25 >>> eval('0o1111')
26 585
27 >>> eval('0x1111')
28 4369
29 备注:type必须是str且前面的进制标志(0b,0o,0x)不可少
30 
31 3.将十进制转换为固定长度的多进制类型:
32 方法一:
33 >>> '{:08b}'.format(9)
34 '00001001'
35 >>> '{:06o}'.format(9)
36 '000011'
37 >>> '{:06x}'.format(9)
38 '000009'
39 备注:'{:08b}'.format(9) # :b表示转换为二进制,08表示高位用0补够8位
40 方法二:
41 >>> a =bin(5)[2:]
42 >>> print(a)
43 101
44 >>> c = str.zfill(a,8)
45 >>> print(c)
46 00000101
47 >>> a =oct(9)[2:]
48 >>> print(a)
49 11
50 >>> c = str.zfill(a,8)
51 >>> print(c)
52 00000011
53 >>> 
54 >>> a =hex(20)[2:]#去掉前面0b
55 >>> print(a)
56 14
57 >>> a =hex(20)
58 >>> a
59 '0x14'
60 >>> str.zfill(a,8)
61 '00000x14'
62 >>> 

 

posted @ 2019-06-16 10:08  renke123  阅读(25948)  评论(0编辑  收藏  举报