前言
這里主要介紹二進制、十進制、八進制、十六進制之間的相互轉換,python中有專門的內置函數來實現進制轉換,因此我們不需要自己寫。
一、轉二進制
>>> bin(10) '0b1010' >>> bin(0o12) '0b1010' >>> bin(0xa) '0b1010'
轉二進制使用bin()函數,其參數默認為十進制數,八進制數需要加上0o標識,十六進制數需要加上0x標識。
二、轉八進制
>>> oct(10) '0o12' >>> oct(0b1010) '0o12' >>> oct(0xa) '0o12'
轉八進制使用oct()函數,其參數默認為十進制數,二進制數需要加上0b標識,十六進制數需要加上0x標識。
三、轉十六進制
>>> hex(10) '0xa' >>> hex(0b1010) '0xa' >>> hex(0o12) '0xa'
轉十六進制使用hex()函數,其參數默認為十進制數,二進制數需要加上0b標識,八進制數需要加上0o標識。
注意:以上進制轉換的輸出都是字符串類型,如若不需要前面的進制標識,只需進行字符串分割即可。例如:hex(10)[2:]。
四、轉十進制
>>> int('0b1010', 2) 10 >>> int('1010', 2) 10 >>> int('12', 8) 10 >>> int('0o12', 8) 10 >>> int('0xa', 16) 10 >>> int('a', 16) 10
轉十進制使用int()函數,其參數有兩個,前者為字符串類型,表示需要轉換成十進制的數字,后者為整型,表示轉換前的數字為何種進制。由於這里有參數說明轉換前的數字是哪種進制,所以0b、0o、0x這些進制標識可加可不加。