1. 程式人生 > >python中進位制轉換及IP地址轉換

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 def zh(n):
2     a = n.split(".")
3     lst = []
4     for i in a:
5         two = bin(int(i,10)).lstrip("0b")         #十進位制轉換成二進位制,並去掉開頭的0和b,,(根據需要)
6 lst.append(two.zfill(8)) #十進位制新增到列表,不足處用0補位 7 return " ".join(lst) #把列表用" "連線起來 8 print(zh("102.3.9.129"))

結果對照:

1 01100110 00000011 00001001 10000001

二進位制轉十進位制IP:

1 def zh(n):
2     a = n.split(" ")
3     lst = []
4     for i in a:
5         lst.append(str(int(i, 2)))                #
將二進位制轉換成十進位制,並新增到列表 6 return ".".join(lst) #把列表用"."連線起來 7 print(zh("01100110 00000011 00001001 10000001"))

結果對照:

1 102.3.9.129