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 >>>