题解 | 整数与IP地址间的转换
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
ip = input() ten_ip = input() ip_list = ip.split(".") ip_to_ten = "" for i in range(4): temp = "" # 用中间变量存储点分十进制各个部分转二进制后的值 if len(bin(int(ip_list[i]))[2:]) < 8: # 不足补0 n = 8 - len(bin(int(ip_list[i]))[2:]) temp = "0" * n + str(bin(int(ip_list[i])))[2:] ip_to_ten += temp else: temp += str(bin(int(ip_list[i])))[2:] ip_to_ten += temp bin_ten_ip = "0" * (32 - len(str(bin(int(ten_ip)))[2:])) + str(bin(int(ten_ip, 10)))[2:] ten_ip_to_bin = [] for i in range(0, 32, 8): ten_ip_to_bin.append(str(int((bin_ten_ip[i : i + 8]), 2))) print(int(ip_to_ten, 2)) # 二进制转十进制 print(".".join(ten_ip_to_bin))