题解 | 整数与IP地址间的转换
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
简单的字符串处理+位运算
import sys
for idx, line in enumerate(sys.stdin):
a = line.strip()
# ip -> int
if idx == 0:
nums_list = list(map(int, a.split(".")))
result = 0
for each in nums_list:
result <<= 8
result += each
print(result)
# int -> ip
elif idx == 1:
result_list = [0] * 4
num = int(a)
for i in range(3, -1, -1):
tmp_num = num % (2**8)
num >>= 8
result_list[i] = str(tmp_num)
print(".".join(result_list))