IP地址总是由4个0-255的数字以"."隔开的形式来显示给用户,例如192.168.0.1。在计算机中,一个IP地址用4字节 来依次存储其从右到左的4个数字部分,每个字节(8比特)以2进制的形式存储相应的IP地址数字,请你实现一个从IP地址的显示格式到计算机存储格式的转 换。
【输入形式】
每行输入一个IP地址,如果输入为-1,结束输入。
【输出形式】
每行输出一个IP地址在计算机存储中以二进制表示的4字节内容
【样例输入】
192.168.0.1
255.255.0.0
1.0.0.1
-1
【样例输出】
11000000101010000000000000000001
11111111111111110000000000000000
00000001000000000000000000000001
def to_bin(value, num):#十进制数据,二进制位宽
bin_chars = ""
temp = value
for i in range(num):
bin_char = bin(temp % 2)[-1]
temp = temp // 2
bin_chars = bin_char + bin_chars
return bin_chars.upper()
while True:
s=input()
if s=='-1':
break
l=s.split('.')
for i in l:
print(to_bin(int(i),8),end='')
print()
IP = input(">>")
if IP != "-1":
a, b, c, d = map(int, IP.split("."))
print("{:08b}{:08b}{:08b}{:08b}".format(a, b, c, d))