c语言代写IP问题处理

问题描述
IPv4中的IP地址有二进制和十进制,十进制格式是由二进制翻译过来的。二进制的IP地址共有32位,例如10000011,01101011,0000011,00011000。每八位组用一个十进制表示,并以点分隔,称为点分法。如这个二进制地址的点分法表示为131.107.3.24。
IP地址按照类的等级号,分为五类:A、B、C、D、E。如下图所示,网络部分(网络号)和主机部分(主机号)随不同等级在32位中所占的位数不同。
 
l        A类IP地址:用于支持巨型网络。它的取值范围为1.0.0.0~127.255.255.255,共有126个A类网络,每一个A类网络能支持16777214个不同的主机地址。
l        B类IP地址:用于支持大中型网络。它的取值范围为128.0.0.0~191.255.255.255,共有16384个B类网络,每一个B类网络能支持65534个主机地址。
l        C类IP地址:用于支持小型网络。它的取值范围为192.0.0.0~223.255.255.255,共有2097152个C类网络,每一个C类网络仅能支持254个主机地址。
l        D类IP地址:D类地址是专为IP网络中的组播而设置的。它的取值范围为224.0.0.0~239.255.255.255。
IP地址的屏蔽码
由于32位的IP地址分为两个组成部分:网络号和主机号。子网掩码的作用就在于将这两个部分区分开来。
子网掩码IP协议标准规定:每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP
地址中的某位为网络地址(包括网间网部分和物理网络号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。
基本要求
(1)编写程序,生成20万个IP地址,且这20万个地址不允许出现重复。地址分别用二进制和十进制表示,保存在文件中。
(2)统计20万个地址中A、B、C、D类的个数。
(3)分类按页显示二进制和十进制的IP地址。每屏幕显示15条信息,可以用”U”、”N”键完成上下翻页显示结果。
(4)使程序自动分析IP地址,并为每类IP地址自动生成“子网掩码”。并用二进制和十进制表示生成的子网掩码。
(5)对于给定的IP地址,用子网掩码作用于IP地址,取出其中的网络号和主机号。

类别 子 网 掩 码 位 模 式 子网掩码  A 11111111.00000000.00000000.00000000 255.0.0.0 B 11111111.11111111.00000000.00000000 255.255.0.0 C 11111111.11111111.11111111.00000000 255.255.255.0
 
如果在Internet网上进行通信的两台主机的IP地址分别为192.83.192.10和192.83.192.32,那么子网掩码 255.255.255.0分别对两个IP地址进行与(and)运算后,得出网络号和主机号,并且结果一致,可以判断这两个IP地址属于同一个网络。

转载于:https://www.cnblogs.com/sourcecode2014/p/3309924.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值