题解 | 整数与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))

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 17:09
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
难怪不开摄像头,全是简单的性格题,比大疆友善多了
NULL10086:今早上发的测评,我这还没做呢,官网上已经显示挂了
投递大疆等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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