首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于根据IP计算子网掩码的有关问题 急

2012-04-08 
关于根据IP计算子网掩码的问题 急!!!!!1。有两个IP:192.168.1.2,172.25.24.13怎么样根据这两个计算子网掩码

关于根据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应该就是掩码了

热点排行