已知一各网络,要求划分为相同大小的子网。
比如已知network:192.168.0.0/23子网,根据要划分的子网块b大小,列出所有子网网络地址:
var network = "192.168.0.0";
var cidr = 23;
var b = 4;//子网块大小此处为变动参数,根据划分的大小
var subnetAmount = Math.pow(2,(32-cidr))/b;//计算子网数量
var p = network.split(".");
for(i=0;i<subnetAmount;i++){
A = (Number(p[0]) + Math.floor((subnetBlockSize*i)/16777216)%256)%256;
B = (Number(p[1]) + Math.floor((subnetBlockSize*i)/65536)%256)%256;
C = (Number(p[2]) + (Math.floor((subnetBlockSize*i)/256)%256)%256)%256;
D = (Number(p[3]) + (subnetBlockSize*i)%256)%256;
alert(A+"."+B+"."+C+"."+D);
}
原文地址:http://403573.blog.51cto.com/393573/1775815