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

整数与IP地址间的转换

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

while True:
    try:
        ip, long = input(), int(input())
        # 将ip地址分段
        nums = list(map(int, ip.split('.')))
        # 将每段转换成8位二进制
        res = ''
        for n in nums:
            temp = bin(n).replace('0b', '')
            res += (8 - len(temp)) * '0' + temp # 不足8位向前补'0'
        # 输出十进制整数
        print(int(res, 2))
        # 将十进制的IP地址转成二进制
        bstr = bin(long).replace('0b', '')
        bstr = (32 - len(bstr)) * '0' + bstr # 不足32位向前补'0'
        lst = []
        i = 0
        while i + 8 <= len(bstr):
            lst.append(bstr[i:i+8])
            i += 8
        # 输出IP地址
        print('.'.join([str(int(x, 2)) for x in lst]))
    except:
        break
全部评论

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务