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

整数与IP地址间的转换

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

二进制、十进制和字符串直接的相互倒换

def encrypt(ip):
    digits = []
    for i in ip.split("."):
        b = bin(int(i))[2:]
        while len(b) < 8:
            b = "0{}".format(b)
        digits.append(b)
    print(int("".join(digits), 2))

def decrypt(number):
    b = bin(int(number))[2:]
    while len(b) < 32:
        b = "0{}".format(b)
    ip = []
    for i in range(0, 32, 8):
        ip.append(str(int(b[i:i+8], 2)))
    print(".".join(ip))

encrypt(input())
decrypt(input())

全部评论

相关推荐

LuvSran:是人我吃。老师就是学校呆久了,就业方面啥都不懂,还自以为是为了我们就业好。我学校就一破双非,计科入行率10%都没有,某老师还天天点名,说是出勤率抬头率前排率高了,华为什么的大厂就会来,我们就是不好好上课才没有厂来招。太搞笑了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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