IP地址转十进制:
思路:
1、把输入的ip地址按“.”分隔开,存入数组
2、Long.parseLong(String s),这个方法是将字符串解析为带符号的十进制long
首先拿到的是最左边的数,让他左移8位,再加上下一个数,知道循环结束
(这个和直接左移24位,16位,8位是一样的,只不过使用了循环);
public static long ipToTen(String ip){
String[] i=ip.split("\\.");
long n=Long.parseLong(i[0]);
for(int j=1;j<i.length;j++){
n=n<<8;
n+=Long.parseLong(i[j]);
}
return n;
}
十进制转IP地址:
思路:可以对照着图看:
1、将ip地址与0xff相与,可以得到最后一个部分的结果,然后让源ip地址右移8位,继续求倒数第二部分。
2、创建一个StringBuilder,将结果连接起来