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

整数与IP地址间的转换

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

ip = input().split('.')
ip_dec = int(input())
# 1、ip转10
res_1 = ''
res_2 = ''
n_2 = bin(ip_dec)[2:]
ip_bin = '0'* (32-len(n_2)) + n_2
for i in range(4):
    n_1 = bin(int(ip[i]))[2:]
    ip[i] = '0'*(8-len(n_1)) + n_1
    res_1 += ip[i]
    # 2、10转ip
    res_2 = res_2 + str(int(ip_bin[i*8:i*8+8],2)) + '.'
print(int(res_1,2))# 转换后的10进制ip
print(res_2[:-1])

进制转换

(1)十进制转其他进制

print("十进制数为:", dec)

print("转换为二进制为:", bin(dec))

print("转换为八进制为:", oct(dec))

print("转换为十六进制为:", hex(dec))

(2)其他进制转为十进制

>>> int('1101',2)

13
>>> int('0o226',8) #00226 0:阿拉伯数字零 o:小写英文字母 o 226:八进制数
150
>>> int('0x96',16)
150

https://www.cnblogs.com/huigebj/p/11192996.html

全部评论

相关推荐

苍蓝星上艾露:这简历。。。可以试试我写的开源简历优化工具https://github.com/weicanie/prisma-ai
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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