各进制之间转换:
1 # 转二进制用bin(int(x,n)) #用几进制转换n就是几 2 # 转八进制用oct(int(x,n)) #x位置放现有进制字符串 3 # 转十进制用int(x,n) 4 # 转十六进制用hex(int(x,n))
十进制转二进制IP:
1 def convert(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(convert("102.3.9.129"))
结果对照:
1 01100110 00000011 00001001 10000001
二进制转十进制IP:
1 def convert(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(convert("01100110 00000011 00001001 10000001"))
结果对照:
1 102.3.9.129