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


    在应用程序开发中,涉及到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

  • 相关阅读:
    Keep at Most 100 Characters
    Larry and Inversions
    计算指数
    简单题
    重要的话说三遍
    I Love GPLT
    猜数字
    打印沙漏
    多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling)的基本概念
    Hibernate面试题
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/3898484.html
Copyright © 2020-2023  润新知