首页 > 代码库 > IP地址转换成Long型数字的算法
IP地址转换成Long型数字的算法
在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型)。能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的。在数据库层面,可以直接将结果设置成表的主键,避免IP地址的重复,因为是主键,也就是表的索引了,数据库查找时会更 快。
对于格式为m.n.x.y的IP地址,转换成Long型数字的算法如下:
view plain copy
- Long = * 256 * 256 * m +
- y
使用Java语言,则这样实现:
view plain copy
- privatestatic);
- * * * Long.parseLong(ip[]) +
- * * Long.parseLong(ip[]) +
- * Long.parseLong(ip[]) +
- ]);
- return}
那么,对于已知的一个表示IP地址的Long型数字,又该如何将其还原成String(字符型)的IP地址呢?算法也很简单,整除和取余。使用Java语言,则这样实现:
view plain copy
- privatestaticlong;
- long * * );
- long * * * m - y) / ( * );
- long * * * m - * *n - y) / ;
- return + n + + x + + y;
- }
算法测试:
view plain copy
- publicstaticvoid);
- }
结果:
3074337170
183.62.169.146
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。