public class ipToLong {
/*
public static long ipTolong(String strIp) {
String[] ip = strIp.split("\\.");
return (Long.parseLong(ip[0]) << 24) + (Long.parseLong(ip[1]) << 16) + (Long.parseLong(ip[2]) << 8) + Long.parseLong(ip[3]);
// 将127.0.0.1形式的IP地址转换成十进制整数
public static long IpToLong(String strIp)
{
long[] ip = new long[4];
int position1 = strIp.indexOf(".");
int position2 = strIp.indexOf(".", position1 + 1);
int position3 = strIp.indexOf(".", position2 + 1);
// 将每个.之间的字符串转换成整型
ip[0] = Long.parseLong(strIp.substring(0, position1));
ip[1] = Long.parseLong(strIp.substring(position1 + 1, position2));
ip[2] = Long.parseLong(strIp.substring(position2 + 1, position3));
ip[3] = Long.parseLong(strIp.substring(position3 + 1));
//进行左移位处理
return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
}
// 将十进制整数形式转换成127.0.0.1形式的ip地址
public static String LongToIp(long ip)
{
StringBuilder sb = new StringBuilder();
//直接右移24位
sb.append(ip >> 24);
sb.append(".");
//将高8位置0,然后右移16
sb.append((ip & 0x00FFFFFF) >> 16);
sb.append(".");
//将高16位置0,然后右移8位
sb.append((ip & 0x0000FFFF) >> 8);
sb.append(".");
//将高24位置0
sb.append((ip & 0x000000FF));
return sb.toString();
long result1 = IpToLong(ip);
System.out.println(result1);
long strip = 3232238180L;
String result2 = LongToIp(strip);
/*
public static long ipTolong(String strIp) {
String[] ip = strIp.split("\\.");
return (Long.parseLong(ip[0]) << 24) + (Long.parseLong(ip[1]) << 16) + (Long.parseLong(ip[2]) << 8) + Long.parseLong(ip[3]);
}
*/
// 将127.0.0.1形式的IP地址转换成十进制整数
public static long IpToLong(String strIp)
{
long[] ip = new long[4];
int position1 = strIp.indexOf(".");
int position2 = strIp.indexOf(".", position1 + 1);
int position3 = strIp.indexOf(".", position2 + 1);
// 将每个.之间的字符串转换成整型
ip[0] = Long.parseLong(strIp.substring(0, position1));
ip[1] = Long.parseLong(strIp.substring(position1 + 1, position2));
ip[2] = Long.parseLong(strIp.substring(position2 + 1, position3));
ip[3] = Long.parseLong(strIp.substring(position3 + 1));
//进行左移位处理
return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
}
// 将十进制整数形式转换成127.0.0.1形式的ip地址
public static String LongToIp(long ip)
{
StringBuilder sb = new StringBuilder();
//直接右移24位
sb.append(ip >> 24);
sb.append(".");
//将高8位置0,然后右移16
sb.append((ip & 0x00FFFFFF) >> 16);
sb.append(".");
//将高16位置0,然后右移8位
sb.append((ip & 0x0000FFFF) >> 8);
sb.append(".");
//将高24位置0
sb.append((ip & 0x000000FF));
return sb.toString();
}
public static void main(String[] args) {
String ip = "192.168.10.100";long result1 = IpToLong(ip);
System.out.println(result1);
long strip = 3232238180L;
String result2 = LongToIp(strip);
System.out.println(result2);
}
}