我确实有这个工作,但它非常丑陋,并且它在晚上让我保持清醒,试图拿出一段雄辩的代码来完成它。将IP地址分割成八位字节,然后对每个八位字节做一些数学计算
我需要一系列代表IP范围的字符串,并确定该字符串代表的实际IP地址数。我的方法是将其分成4个八位字节,然后尝试分割每个八位字节并从那里进行数学运算。
例如:1.2.3.4-6代表1.2.3.4,1.2.3.5和1.2.3.6,因此我想从这个范围得到3的答案。
为了使它更加复杂,我开始的字符串可以是一个由换行符分隔的文本框的范围列表,所以我需要分别查看每行,获取表示的IP地址的计数,最后,有多少提交的范围有这种情况。
1.1.1.4-6 /* Represents 3 actual IP Addresses, need to know "3" */
2.2.3-10.255 /* Represents 8 actual IP Addresses, need to know "8" */
3.3.3.3 /* No ranges specified, skip this
4.4.4.4 /* No ranges specified, skip this
净结果是,我想知道的是,两行包含一个“范围”,它代表8个的IP地址(3 + 8)
不限口才解决方案将由我的睡眠时间表所理解的。 : )
你想知道,包含的范围,其范围总每一行或仅仅是单一的整体总所有线路的线的线数? –