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

整数与IP地址间的转换

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

这题可以取巧,因为IP地址是8位一组,所以按8位一组切割被转换成2进制的数字即可。当然,像我这样逆着来可以省一步操作。

while 1:
    try:
        a2 = list(map(int,input().split('.')))
        a10 = bin(int(input()))[2:]
        str1 = ''
        list2 = []
        for i in range(4):
            str1 = str1 + '0'*(8-len(bin(a2[i])[2:]))+ bin(a2[i])[2:] 
            if i == 0:
                list2.append(str(int(a10[-8:],2)))
            else:
                list2.append(str(int(a10[(-8-i*8):(0-i*8)], 2)))
        print(int(str1,2))
        print('.'.join(list2[::-1]))
    except:
        break
全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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