点击查看代码
# 1字节等于8位
# IP: 192.168.12.79 -> 001010010 . 001010010 . 001010010 . 001010010
# 1. 请将 ip = "192.168.12.79" 中的每个十进制数转换成二进制并通过,连接起来生成一个新的字符串。
ip = "192.168.12.79"
ip_list = ip.split('.') # ['192','168','12','79']
result = []
for item in ip_list:
result.append(bin(int(item)))
print(','.join(result))
# 2. 请将 ip = "192.168.12.79" 中的每个十进制数转换成二进制: 面试题
# 0010100100001010010001010010001010010 -> 十进制的值。
# 3232238671
def get_ip(ip):
ip_list = ip.split('.') # ['192','168','12','79']
result = []
for item in ip_list:
new_data = bin(int(item)).replace("0b", '')
print(new_data)
#进行判断,转换为二进制后长度是否=于8,如果小于8位,从左边进行补0
if len(new_data) % 8 == 0:
result.append(new_data)
continue
else:
new_data = ("0" * (8 - len(new_data))) + new_data
result.append(new_data)
#print(result)
#列表中二进制通过,进行拼接成字符
new_res = ','.join(result)
new_res = int(new_res.replace(',', ''), base=2) #new_res.replace(',', '') 将生成的字符,将里面的,号进行替换,进行接接
print(new_res)
ip = "192.168.12.79"
get_ip(ip) #3232238671