前言python
這裏主要介紹二進制、十進制、八進制、十六進制之間的相互轉換,python中有專門的內置函數來實現進制轉換,所以咱們不須要本身寫。函數
1、轉二進制spa
>>> bin(10) '0b1010' >>> bin(0o12) '0b1010' >>> bin(0xa) '0b1010'
轉二進制使用bin()函數,其參數默認爲十進制數,八進制數須要加上0o標識,十六進制數須要加上0x標識。code
2、轉八進制blog
>>> oct(10) '0o12' >>> oct(0b1010) '0o12' >>> oct(0xa) '0o12'
轉八進制使用oct()函數,其參數默認爲十進制數,二進制數須要加上0b標識,十六進制數須要加上0x標識。字符串
3、轉十六進制class
>>> hex(10) '0xa' >>> hex(0b1010) '0xa' >>> hex(0o12) '0xa'
轉十六進制使用hex()函數,其參數默認爲十進制數,二進制數須要加上0b標識,八進制數須要加上0o標識。二進制
注意:以上進制轉換的輸出都是字符串類型,如若不須要前面的進制標識,只需進行字符串分割便可。例如:hex(10)[2:]。di
4、轉十進制co
>>> 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這些進制標識可加可不加。