python進位制轉換(二進位制、十進位制和十六進位制)及注意事項

pythontab發表於2013-01-02

使用內建函式實現進位制轉換實現比較簡單,主要用到以下函式:

bin()、oct()、int()、hex()


下面分別詳解一下各個函式的使用(附例項)


第一部分:其他進位制轉十進位制


1.二進位制轉十進位制


使用函式:int()


例項:


#結果是4
  
int('100', 2)


注意:上述一定不要忘記加引號,因為二進位制是一個字串


如果不加引號會出現如下錯誤:


Traceback (most recent call last):

 File "<pyshell#2>", line 1, in <module>

   int(100,2)

TypeError: int() can't convert non-string with explicit base


2.八進位制轉十進位制


使用函式:int()


例項:

#結果是4
  
int('04', 8)


注意:上述一定不要忘記加引號,因為八進位制是一個字串


3.十六進位制轉十進位制


使用函式:int()


例項:


#結果是4
  
int('0x4', 16)


注意:上述一定不要忘記加引號,因為十六進位制是一個字串



第二部分:十進位制轉其他進位制


1.十進位制轉二進位制


使用函式:bin()


bin()函式是講整數轉換成二進位制字串


例項:


#十進位制轉二進位制,其中int(4,10)表示4是一個十進位制整數
  
bin(int('4',10))
  
#或者,直接輸入一個十進位制
  
bin(4)
  
#結果是:0b100



注意:這裡的0b100,其實就是100,0b的b是binary的意思



2.十進位制轉八進位制


使用函式: oct()


#這裡也要注意,4要加引號表示是一個字串
oct(int('4',10))
  
#或者,不轉換直接輸入十進位制數
  
oct(4)
  
#結果為:04


3.十進位制轉十六進位制


使用函式:hex()


例項:


#十進位制轉十六進位制
hex(int('4', 10))
  
#或者
  
hex(4)
  
#結果為:0x4


相關文章