题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
import sys
#把ip地址转换成二进制然后十进制
s = input().split(".")
def encode(x):
bin_x = str(bin(int(x))[2:]).rjust(8,'0')
return bin_x
out_encode = " "
for i in s:
out_encode += encode(i)
out = int(out_encode, 2)
print(out)
def decode(x):
int_x = int(x, 2)
return int_x
#把整数转换成2进制然后转换成ip地址
s_2 = str(bin(int(input()))[2:]).rjust(32, '0')
out_decode = ""
for i in range(0, len(s_2), 8):
if i+8 < len(s_2):
out_decode += str(decode(s_2[i:i+8]))+"."
else:
out_decode += str(decode(s_2[i:i+8]))
print(out_decode)
查看15道真题和解析