func networkSize(mask net.IPMask) int32 {
m := net.IPv4Mask(0, 0, 0, 0)
for i := 0; i < net.IPv4len; i++ {
m[i] = ^mask[i]
}
return int32(binary.BigEndian.Uint32(m)) + 1
}
答案 0 :(得分:1)
反转网络掩码中的每个位,将结果视为bigendian 32位整数的4个字节,并将1加到结果中。所以255.255.252.0 =&gt; 00000000.00000000.00000011.11111111 =&gt; 1023,向此添加1为1024。
答案 1 :(得分:0)
ip地址是逻辑的,并且与subnet_mask一起使用。 subnet_mask可用于创建许多net_id。请阅读此处的示例:http://www.garykessler.net/library/subnet_masks.html。