题解 | #判断两个IP是否属于同一子网#

判断两个IP是否属于同一子网

http://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218

  1. 对IP地址的非法检测:掩码除了数值大小的检测外, 1 0 的关系也要检测,要满足第从左往右第一个0的索引idx0与最后一个1的索引idx1 满足 idx0-idx1=1;
  2. 将IP地址转化为二进制的一个程序上较为方便的个方法:先将点分十进制看成整体,求这个值的大小,此时由于数值很大,保存IP地址的变量应该设为long型 ,此时也能获取掩码最后一个1出现的位置idx_last1
  3. 两个ip地址转化为大整数后相减,结果转化为二进制,从左往右找到第一个1出现的位置,若该位置小于等于idx_last1,他们的差异就会被掩码覆盖,此时就属于同一个子网

全部评论

相关推荐

09-29 17:44
已编辑
蔚来_测(准入职员工)
//鲨鱼辣椒:见不了了我实习了四个月上周再投筛选了一天就给我挂了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务