读书人

JAVA中IP跟整数相互转化介绍

发布时间: 2012-10-25 10:58:57 作者: rapoo

JAVA中IP和整数相互转化介绍

?? blog迁移至:http://www.micmiu.com

?

在项目中经常会用到IP(v4)范围判定比较的功能,一般将IP转化为整数再进行比较。
一、基本知识点

?

IP ——> 整数:

把IP地址转化为字节数组通过左移位(<<)、与(&)、或(|)这些操作转为int

整数 ——> IP:

将整数值进行右移位操作(>>>),右移24位,再进行与操作符(&)0xFF,得到的数字即为第一段IP。将整数值进行右移位操作(>>>),右移16位,再进行与操作符(&)0xFF,得到的数字即为第二段IP。将整数值进行右移位操作(>>>),右移8位,再进行与操作符(&)0xFF,得到的数字即为第三段IP。将整数值进行与操作符(&)0xFF,得到的数字即为第四段IP。

二、java代码示例

??? IPv4Util.java

?


测试运行结果:

引用
IP: 192.168.8.1 ByInet --> byte[]: [ -64,-88,8,1 ]
IP: 192.168.8.1 ByReg? --> byte[]: [ -64,-88,8,1 ]
byte[]: -64,-88,8,1 --> IP: 192.168.8.1
IP: 192.168.8.1? --> int: -1062729727
int: -1062729727 --> IP: 192.168.8.1
192.168.1.1/24 --> int地址段:[ -1062731520,-1062731265 ]
192.168.1.1/24 --> IP 地址段:[ 192.168.1.0,192.168.1.255 ]
192.168.1.1 , 255.255.255.0? --> int地址段 :[ -1062731520,-1062731265 ]
192.168.1.1 , 255.255.255.0? --> IP地址段 :[ 192.168.1.0,192.168.1.255 ]

?

?

转载请注明来自:Michael's blog @ http://sjsky.iteye.com


------------------------------ 分 ------------------------------ 隔 ------------------------------ 线 ------------------------------

?

?

?

读书人网 >编程

热点推荐