一.通過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,...