Chinaunix

标题: 根据网络号和IP数量,如何确定掩码? [打印本页]

作者: gaochong    时间: 2010-09-16 10:08
标题: 根据网络号和IP数量,如何确定掩码?
本帖最后由 gaochong 于 2010-09-16 14:06 编辑

根据网络号和IP数量,如何确定掩码? 比如
223.254.0.0 65536 可以确定掩码是16位。
223.255.0.0 32768 可以确定掩码是17位。
如何用代码计算出掩码呢?



如下是sh的脚步,怎么转换成perl啊?

mask=$(bc <<END | tail -1
pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt);
END
)
echo $mask

请各位看看。
作者: gaochong    时间: 2010-09-16 14:16
自己顶
作者: magnet2008    时间: 2010-09-16 15:14
按照最大主机数目可以确定子网掩码位
my $num="32768";
my $n=0;
while($num=$num>>1) {
        $j++;
}
print 32-$j,"\n";
17
作者: gaochong    时间: 2010-09-16 18:10
可以实现!
虽然了解>>的功能,但以上代码还是不太懂。

谢谢!
作者: lijian_123    时间: 2010-09-17 14:53
use Net::IP;




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2