我觉得你们说得太抽象了。
不知你是否听说过IPv4是32位的,这个32位就是32个"1"。
CIDR是通过子网掩码计算出来的。
例如子网掩码是255.255.255.0,把这四个数字分别转换为二进制,共24个"1",那CIDR就是24。
CIDR推回子网掩码,就是逆运算了。
例如22这个CIDR,就是22个"1"了(IPv4是32位的,所以要补0):
11111111111111111111110000000000
分成四段,每段八位:
11111111.11111111.11111100.00000000,
然后把各段转换为十进制,就是:
255.255.252.0
网络标识,应该是第一个IP吧,算法比较复杂,用手机中,不方便打太多字。
如果你看得懂PHP的话,考虑看看我写的IP计算的算法(也许大家有更优的算法,别取笑我写的那算法和代码):
http://downloads.yzs.me/ip_calculate.php.tar.bz2只完成了IPv4部分,IPv6的算法已经在纸上设计好了,只不过没时间弄成PHP代码。
$cidr这个数组是2的0次方至2的32次方的值。
这个是用CIDR或者子网掩码计算IP数目的方法,看完后你应该知道$cidr这个数组的作用了:
http://yzs.me/2013.html