Python中如何將int在十進制和2、8、十六進制之間互相轉換python
十進制向2、8、十六進制轉換微信
分別使用bin
、oct
、hex
spa
>>> a = 123 >>> bin(a) '0b1111011' >>> oct(a) '0o173' >>> hex(a) '0x7b'
這樣轉換會有一個前綴0b
、0o
、0x
,若是不想要前綴只想要數值的話,能夠使用format
code
>>> a = 123 >>> format(a, 'b') '1111011' >>> format(a, 'o') '173' >>> format(a, 'x') '7b'
2、8、十六進制向十進制轉換orm
直接使用int()
便可,由於int()
的原型是int(x, base=10)
,因此咱們只須要指定base
就好了rem
>>> a = '1111011' >>> int(a, 2) 123 >>> a = '173' >>> int(a, 8) 123 >>> a = '7b' >>> int(a, 16) 123
若是隻是須要在源碼中將2、8、十六進制轉十進制,實際上只須要寫上前綴就能夠了,不須要進行轉換,數值會自動轉換爲十進制,例如原型
>>> a = 0b1111011 >>> print(a) 123 >>> a = 0o173 >>> print(a) 123 >>> a = 0x7b >>> print(a) 123
Stack Overflow源碼
歡迎關注個人微信公衆號:python每日一練it