python進製轉換函式及方法

2021-10-16 16:46:37 字數 2079 閱讀 2345

一.通過int函式實現其他進製轉十進位制

假設 m 為某已知進製字串n 的進製數

result =

int(n,m)--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

->>

> result =

int(

'10101',2

)>>

> result

>>

>

21

result 為 轉換為的十進位制結果。

二.十進位制轉特定進製函式

假設q 為某十進位制數(非字串)python中的int型別的資料就是10進製

result =

bin(n)

#十進位制轉二進位制

result =

oct(n)

#十進位制轉八進位制

result =

hex(n)

#十進位制轉十六進製制--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

->>

>

(bin

(1234))

>>

>

'0b10011010010'

注意:當使用上述三個轉換為2,8,16進製制時,轉換後的結果都會帶有欄位為2 的字首(二進位制對應『0b』,八進位制對應『0o』,十六進製制對應『0x』)此時我們需要對字串進行切片,得到不帶字首的結果。即:

>>

> result =

bin(

1234)[

2:]>>

> result

>>

>

'10011010010'

三.兩種方式巢狀實現以十進位制為橋梁的2,8,16進製制轉換

eg:二進位制轉八進位制:

a =

'10101'

result =

oct(

int(a,2)

)[2:

]

其他情況類似。

四.十進位制轉其他進製的通法

以十進位制轉十五進製為例:

def

transform

(n,m =15)

:#n為待轉換的十進位制數,m為要轉換成的進製數

str_ =

'' trans =[0

,1,2

,3,4

,5,6

,7,8

,9,'a'

,'b'

,'c'

,'d'

,'e'

]#列表trans中的元素個數與轉換後的進製數相同

remainder =

#用於儲存餘數

while n>0:

x = n % m

n = n//m

remainder.reverse(

)#模擬手算進製轉換時的倒寫

for item in remainder:

str_ +=

str(trans[item]

)return str_

python中進製轉換及IP位址轉換

各進製之間轉換 1 轉二進位製用bin int x,n 用幾進製轉換n就是幾2 轉八進位製用oct int x,n x位置放現有進製字串3 轉十進位製用int x,n 4 轉十六進製製用hex int x,n 十進位制轉二進位制ip 1 def2 a n.split 3 lst 4for i in ...

python函式及方法 python 函式及練習

一 函式的返回值 可以通過人return 來指定函式的返回值 用乙個變數來接收返回值 return 後面跟什麼值,函式就會返回什麼值 在函式中return後的 都不會被執行,return一旦執行,函式自定結束 例如 print jaaj return 3 print 123 print fn fn是...

進製轉換方法

基礎概念 計算機通訊和儲存的時候都是以010101這樣的二進位制資料為基礎的,這兒的乙個0和1佔的地方就叫bit 位 即乙個二進位制位,乙個位元組 byte 是八位,即八個二進位制位。不同進製的產生 2進製,逢2進1 4進製,逢4進1 16進製制,逢16進1 16進製制標示 0,1,2,3,4,5,...