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

整数与IP地址间的转换

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

class IPAd:
    def __init__(self, s):
        self.s = s

    def trans(self):
        s_list = self.s.split('.')
        s_bins = [format(int(num), '08b') for num in s_list]
        result = ''.join(s_bins)

        return int(result, 2)

    def re_trans(self):
        nums = format(int(self.s), '032b')
        num_list = []
        for i in range(0, 32, 8):
            num_str = nums[i:i+8]
            num_list.append(str(int(num_str, 2)))

        return '.'.join(num_list)


s = input()
ipad = IPAd(s)
print(ipad.trans())
s1 = input()
ipad1 = IPAd(s1)
print(ipad1.re_trans())

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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