给定一个ip地址,比如"128.32.10.1",将它转换成二进制为:
10000000 00100000 00001010 00000001
然后转换成十进制就是:
2149583361
它的要求是反过来,给一个十进制的数字,转换成ip字符串,也就是说,给定2149583361,结果就应该是"128.32.10.1"
代码:
def int32_to_ip(int32):
//引用正则用来三等分字符串
import re
//转换成2进制数
bi = "{0:b}".format(int32)
//补齐32位
bi = "0"*(32-len(bi))+bi
//8个一组算出每8个数字的十进制,然后在加","分隔
ret_ip_string = '.'.join(list(map(lambda x: str(int(x, 2)),re.findall(r'.{8}',bi))))
//返回ip字符串
return ret_ip_string