📅  最后修改于: 2023-12-03 15:11:24.124000             🧑  作者: Mango
本程序用于确定IPv4地址的类别、网络和主机ID。IPv4地址是由32位二进制数表示的,通常编写为4个数字,每个数字范围为0-255之间,用'.'分隔,例如192.168.0.1。IPv4地址被分为多种类别,常见的有A类、B类和C类,每一类的地址范围都不同。每个IPv4地址还包括一个网络ID和一个主机ID。
本程序的主要功能是:输入IPv4地址,确定其属于哪一类别、网络ID和主机ID。
本程序使用Python语言实现。主要实现代码如下:
ip_input = input("请输入IPv4地址:")
# 将IPv4地址转化为二进制形式
ip_bits = "".join([bin(int(x)+256)[3:] for x in ip_input.split(".")])
# 判断IP地址的分类
if ip_bits[0] == "0":
address_class = "A类地址"
net_id = str(int(ip_bits[1:9], 2))
host_id = str(int(ip_bits[9:], 2))
elif ip_bits[:2] == "10":
address_class = "B类地址"
net_id = str(int(ip_bits[2:10], 2))
host_id = str(int(ip_bits[10:], 2))
elif ip_bits[:3] == "110":
address_class = "C类地址"
net_id = str(int(ip_bits[3:11], 2))
host_id = str(int(ip_bits[11:], 2))
elif ip_bits[:4] == "1110":
address_class = "D类地址"
net_id = "Multicast"
host_id = ""
elif ip_bits[:4] == "1111":
address_class = "E类地址"
net_id = "Reserved"
host_id = ""
# 输出结果
print("该IPv4地址属于" + address_class + ",其网络ID为" + net_id + ",主机ID为" + host_id)
输入IPv4地址"192.168.0.1",输出结果为:
该IPv4地址属于C类地址,其网络ID为192,主机ID为168.0.1
输入IPv4地址"10.1.1.1",输出结果为:
该IPv4地址属于A类地址,其网络ID为10,主机ID为1.1.1
输入IPv4地址"224.1.1.1",输出结果为:
该IPv4地址属于D类地址,其网络ID为Multicast,主机ID为
本程序使用Python语言实现,可以确定输入IPv4地址所属的类别、网络ID和主机ID,能够方便地帮助用户进行网络配置、网络安全等操作。