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

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

ip_s = input().split(".")  # 输入ip,然后根据"."来切割
s1 = int(input())  # 输入整数
x = ""
a = ""
for i in ip_s:  
    p = bin(int(i))  # 转化为2进制
    p1 = p[2:]  # 去掉"0b"
    p2 = p1.zfill(8) # 填充8位(不够,左边填充0)
    x = x + p2
x = int(x, 2)  # 2进制转为10进制
print(x)

m = bin(int(s1))  # 将整数转为2进制
m1 = m[2:] # 去掉"0b"
m2 = m1.zfill(32 )# 填充32位(不够,左边填充0)
a = a + m2
x3 = a[0:8]  # 得到8位2进制数
x33 = int(x3, 2)  # 2进制转为10进制
x4 = a[8:16]
x44 = int(x4, 2)  
x5 = a[16:24]
x55 = int(x5, 2)  
x6 = a[24:32]
x66 = int(x6, 2)  
x77 = str(x33) + "." + str(x44) + "." + str(x55) + "." + str(x66)  # 字符串拼接得到ip
print(x77)

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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