
IP转Int代码
1
2
3
4
5
6
7
8
9
public void ip2int(){
String ip = "1.255.255.25";
String[] split = ip.split("\.");
int result = 0;
for (int i = 0; i < split.length; i++) {
result = result | (Integer.parseInt(split[i]) << (8*i));
}
System.out.println(result);
}
Int转IP代码
1
2
3
4
5
6
7
public void int2ip(int ip){
String[] res = new String[4];
for (int i = 0; i < 4; i++) {
res[i] = String.valueOf((ip & (255 << (i * 8))) >>> (i * 8));
}
System.out.println(String.join(".",res));
}
此处不用关心int类型首位为符号位的情况,只是需要用到首位的空间,对是否是符号位无所谓。




近期评论