怎么判断任意两台计算机的ip地址属于同一个网络?

判断两台或以上计算机的ip是否属于同一个网络有一下几种方法:

第一种方法:打开电脑按下win+R键,输入cmd点击确定,输入ipconfig 敲回车,即可找到IP地址 。

怎么判断任意两台计算机的ip地址属于同一个网络?

return 0;

}//if

// 转换为string (自己习惯) //初始化

/*

if (pcIp1 == NULL || pcIp2 == NULL || pcSubNetworkMask == NULL){

return 0;

}//

string ip1(pcIp1);

string ip2(pcIp2);

string net(pcSubNetworkMask);

*/

vector<int> ip1Vec;

vector<int> ip2Vec;

vector<int> netVec;

int result, result2;

// ip 子网掩码 输入合法

if (CheckIP(ip1, ip1Vec) && CheckIP(ip2, ip2Vec) && CheckIP(net, netVec))

{

【怎么判断任意两台计算机的ip地址属于同一个网络?】for (int i = 0; i < 4; ++i){

result = ip1Vec[i] & netVec[i];//4个

result2 = ip2Vec[i] & netVec[i];//4个

if (result != result2)

{

return 2;//2:IP1与IP2不属于同一子网络

}//if

}//for

}//if

else

{

return 1;// 1:IP地址或子网掩码格式非法;

}//else

return 0; //0:IP1与IP2属于同一子网络;

}

————————————————

原文链接:https://blog.csdn.net/q286989429/article/details/50598968

其他网友观点

一零chain解答

其实这个问题也简单

通过计算得到网络号,如果相同则在同一网段,不同则不在同一网段 。

掩码和IP的二进制式进行“与”运算,1和1=1 1和0=0 0和0=0 。

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据 。

判断是否处于同一子网的简单易懂法:

1、打开网络邻居,查看工作组计算机,如果在里面能看到对方的计算机名称 。那么两台电脑同属于一个局域网 。

2、连接同个交换机或者路由器,而且都能上网,那么肯定是同个局域网 。

3、用局域网查看工具来查,出现的电脑为同个局域网 。

如果是在b类网的基础上,就不用看160.162段了,就看第三段,192转换成2进制就是11000000,说明第三段的前2位是网络号;

再看2个ip,将他们的第三段转换成2进制,分别是00000011和10101100,看他们的前面2位,如果一样的话就是处于同一个子网,显然这2个ip前面2位不一样,所以他们不在同一个子网 。

专业知识计算法:

把两台电脑的IP地址与子网掩码转成二进制,然后相应位进行相与运算,得出的结果相同(结果再转成10进制更方便判断),就是属于同一子网 。

相与运算是两个条件同时为1结果才为1,否则为0(1与1=1,1与0=0,0与0=0) 。


怎么判断任意两台计算机的ip地址属于同一个网络?

文章插图
怎么判断任意两台计算机的ip地址属于同一个网络?
文章插图
怎么判断任意两台计算机的ip地址属于同一个网络?
文章插图
怎么判断任意两台计算机的ip地址属于同一个网络?
文章插图
怎么判断任意两台计算机的ip地址属于同一个网络?
文章插图
怎么判断任意两台计算机的ip地址属于同一个网络?
文章插图

    推荐阅读