关于根据IP计算子网掩码的问题 急!!!!!
1。有两个IP:192.168.1.2,172.25.24.13
怎么样根据这两个计算子网掩码?
2。有一个IP:192.168.1.2,子网掩码:255.255.0.0,如何计算出另一个IP
我知道一个是与一个是或
能给出程序不?
谢谢
[解决办法]
这个不用程序就可以实现吧。拿笔算算就可以了。
如何通过IP地址计算出子网掩码
[解决办法]
http://net.zdnet.com.cn/network_security_zone/2008/0608/915148.shtml
[解决办法]
1.
long ip1 = inet_addr(192.168.1.2);
long ip2 = inet_addr(172.25.24.13);
long tmp;
ip1 = ntohl(ip1);
ip2 = ntohl(ip2);
tmp = ip1 & ip2;
int cnt = 0;
for(int i = 0; i < 32; i++)
{
if((tmp & 1) == 0)
cnt = 0;
else
cnt++;
}
long mask = (-1) << (32 - cnt);
mask = htonl(mask);
char *ipstr = inet_ntop(mask); <- 这个ipstr应该就是掩码了