一:IP转数字,用于比大小,用在求IP段范围中

  def ip2Long(ip: String): Long = {
val fragments = ip.split("[.]")
var ipNum = 0L
for (i <- 0 until fragments.length){
ipNum = fragments(i).toLong | ipNum << 8L
}
ipNum
}

二:二分法 查找某一IP段所属范围

  def binarySearch(lines: Array[(Long, Long, String)], ip: Long) : Int = {
var low = 0
var high = lines.length - 1
while (low <= high) {
val middle = (low + high) / 2
if ((ip >= lines(middle)._1) && (ip <= lines(middle)._2))
return middle
if (ip < lines(middle)._1)
high = middle - 1
else {
low = middle + 1
}
}
-1
}

最新文章

  1. jdbc java数据库连接 6)类路径读取——JdbcUtil的配置文件
  2. Laravel项目目录结构说明
  3. 指针,&amp;的用法
  4. 直观友好的单个memcache监控工具:phpmemcache.php
  5. 2016.6.11 ASP提交数据到SQL server数据乱码解决方法
  6. [转] C中的位域
  7. JAVA编程思想第一题出现错误
  8. ORACLE DUAL表详解 .
  9. BZOJ 1216: [HNOI2003]操作系统( 优先队列 )
  10. Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
  11. Windows 8 动手实验系列教程 实验8:Windows应用商店API
  12. Wamp 访问本地站点慢 的解决办法
  13. SD卡兼容性问题(转)
  14. 修改oracle服务器端字符集
  15. H5的学习之旅-H5的实体(14)
  16. python的高级数组之稀疏矩阵
  17. memcached-redis
  18. python直接赋值、浅拷贝和深拷贝
  19. http://www.cnblogs.com/xalion/p/5111279.html
  20. bzoj 3834 [Poi2014]Solar Panels 数论分块

热门文章

  1. 【转载自JHBlogs的博客】postman接口自动化,环境变量的用法详解(附postman常用的方法)
  2. PIPE、SIGNAL(day11)
  3. Windows10系统如何清除记录和关掉xbox录制
  4. Noip 2015 练习
  5. Emacs学习笔记之主模式笔记
  6. 08.Web服务器-2.HTTP协议介绍
  7. PHP socket初探 --- 关于IO的一些枯燥理论
  8. 【ZOJ 4060】Flippy Sequence
  9. 项目部署到tomcat出错(tomcat运行时的JDK版本)
  10. 0419MySQL ORDER BY的实现分析