如题!!如能给出具体算法最好!!
感谢~~
这个问题关键在于将IP转化为长整型。
[code="java"] /**
* 字符串ip转换为long
* @param 字符串ip
* @return
*/
public static long getStringIpToLong(String ip) {
String[] ips = ip.split("[.]");
long num = 16777216L*Long.parseLong(ips[0]) + 65536L*Long.parseLong(ips[1]) + 256*Long.parseLong(ips[2]) + Long.parseLong(ips[3]);
return num;
}
[/code]
这个问题不只是算法,而且网络IP知识的一应用。
参看:http://zhidao.baidu.com/question/130627677.html
首先,你必须了解 IP的基础知识。即每个值,不能大于255
其次,你必须清楚(192.168.1.11 和193.111.2.254)这个区段中,有一部分是保留IP,应该不是你想要的“有效IP”
192.168.0.0 - 192.168.255.555 为保留IP
所以你的区段,可以缩小为:
192.169.0.0 - 193.111.2.254
然后,就可以计算了吧