python中進位制轉換及IP地址轉換
阿新 • • 發佈:2019-01-08
各進位制之間轉換:
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