?? ip2long.java
字號(hào):
package book.string;
public class IP2Long {
//將127.0.0.1 形式的IP地址轉(zhuǎn)換成10進(jìn)制整數(shù),這里沒有進(jìn)行任何錯(cuò)誤處理
public static long ipToLong(String strIP){
long[] ip=new long[4];
//先找到IP地址字符串中.的位置
int position1=strIP.indexOf(".");
int position2=strIP.indexOf(".",position1+1);
int position3=strIP.indexOf(".",position2+1);
//將每個(gè).之間的字符串轉(zhuǎn)換成整型
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];
}
//將10進(jìn)制整數(shù)形式轉(zhuǎn)換成127.0.0.1形式的IP地址
public static String longToIP(long longIP){
StringBuffer sb=new StringBuffer("");
//直接右移24位
sb.append(String.valueOf(longIP>>>24));
sb.append(".");
//將高8位置0,然后右移16位
sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16));
sb.append(".");
sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));
sb.append(".");
sb.append(String.valueOf(longIP&0x000000FF));
return sb.toString();
}
/**
* @param args
*/
public static void main(String[] args) {
String ipStr = "192.168.0.1";
long ipLong = IP2Long.ipToLong(ipStr);
System.out.println("192.168.0.1 的整數(shù)形式為: " + ipLong);
System.out.println("整數(shù)" + ipLong + "轉(zhuǎn)化成字符串IP地址: "
+ IP2Long.longToIP(ipLong));
//IP地址轉(zhuǎn)化成二進(jìn)制形式輸出
System.out.println("192.168.0.1 的二進(jìn)制形式為: "
+ Long.toBinaryString(ipLong));
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -