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

整数与IP地址间的转换

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

  • 思路:如果是ip转数字,则对每8位进行位运算求和即可,如果是数字,先求出32位二进制字符串ip_b, 然后分别对每8位二进制转十进制并组合即可。
ip, ip_num = input().strip(), int(input().strip())
print(sum([int(v) << 8*(3-i) for i, v in enumerate(ip.split("."))]))
ip_b = bin(ip_num)[2:].rjust(32, "0")
print(".".join([str(int(ip_b[i*8:8*(i+1)], 2)) for i in range(4)]))
全部评论

相关推荐

10-17 17:14
门头沟学院 C++
牛客410039819号:北京地区大多是919和927,这两场挂太多人了
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务