在Go中,我找到了这样一个算法,但我不明白,谁能帮我解释一下,谢谢!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}
2 回答

繁星淼淼
TA贡献1775条经验 获得超11个赞
反转网络掩码中的每一位,将结果视为双端 32 位整数的 4 个字节,并将结果加 1。所以255.255.252.0 => 00000000.00000000.00000011.11111111 => 1023,加1就是1024。
- 2 回答
- 0 关注
- 186 浏览
添加回答
举报
0/150
提交
取消