首页 > 其他 > 详细

IP地址转换成Long型数字的算法

时间:2014-08-08 01:57:55      阅读:467      评论:0      收藏:0      [点我收藏+]

在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型)。能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的。在数据库层面,可以直接将结果设置成表的主键,避免IP地址的重复,因为是主键,也就是表的索引了,数据库查找时会更 快。

对于格式为m.n.x.y的IP地址,转换成Long型数字的算法如下:

  1. Long  =  * 256 * 256 * m + 
  2.               y 

使用Java语言,则这样实现:

  1. privatestatic);  
  2.  *  *  * Long.parseLong(ip[]) +  
  3.  *  * Long.parseLong(ip[]) +  
  4.  * Long.parseLong(ip[]) +  
  5. ]); 
  6. return}  

那么,对于已知的一个表示IP地址的Long型数字,又该如何将其还原成String(字符型)的IP地址呢?算法也很简单,整除和取余。使用Java语言,则这样实现:

  1. privatestaticlong
  2. long *  * ); 
  3. long *  * * m - y) / ( * ); 
  4. long *  * * m -  *  *n - y) / 
  5. return + n +  + x +  + y; 

算法测试:

  1. publicstaticvoid); 

结果:

3074337170

183.62.169.146

IP地址转换成Long型数字的算法,布布扣,bubuko.com

IP地址转换成Long型数字的算法

原文:http://www.cnblogs.com/zhaoxinshanwei/p/3898484.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!