题解 | 整数与IP地址间的转换

使用位运算

ip = input()
ip10 = int(input())

ip2ten = 0
for segment in ip.split("."):
    ip2ten = (ip2ten << 8) | int(segment)  #左移8位并合并二进制位
print(ip2ten)

ten2ip = []
for _ in range(4):
    ten2ip.append(str(ip10 & 255))  # 获取最低8位
    ip10 >>= 8  # 右移8位
print(".".join(reversed(ten2ip)))
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务