子网掩码、ip地址、主机号、网络号、网络地址、广播地址 -的算法

2020-09-27 科技 125阅读

常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。

其实大家只要仔细想想,可以得到另一个方法: 255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。

而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128.而广播地址就是下一个网络的网络地址减1.而下一个32的倍数是160

扩展资料

要求得变量的地址,大致有两种方法。

运算符法

可以在变量前面冠以运算符&。

例如,设有int a;则可用&a来求得变量a的地址。一般说来,该值直到程序运行以前都是未定的。即使程序开始运行了,也未必就有一定的值。可能因运行时的环境不同而取不同的值。因此,几乎不可以究问一个地址实际上到底取什么值。

指针变量

有一种指针变量是专门用以表示各种数据的地址的。例如,指向字符型数据地址的指针变量P可以这样定义:

char *P

同样,指向整型数据地址的指针变量q可以这样定义:

int *q;

不用说,可以把表示数据存储区域的地址赋值给指针变量,此外,也可以考虑指针变量的地址,例如,可以用&q来求指针变量q的地址。

可以把该值赋给指针变量,例如,可以把它赋给定义为int **q_P;的指针变量q_P中去。由于指针变量q_P是一个指向一个指向int型数据的指针变量的指针变量,因而其定义中必须用两个*。

由指针变量所指向的数据(该数据的值被写在与赋到指针变量中的地址值相同的地址上)是用在指针变量之前冠以运算符*的方法来指定的。

参考资料来源:百度百科-地址计算

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com