?? ip2long.java
字號:
package book.string;
public class IP2Long {
//將127.0.0.1 形式的IP地址轉換成10進制整數,這里沒有進行任何錯誤處理
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);
//將每個.之間的字符串轉換成整型
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進制整數形式轉換成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 的整數形式為: " + ipLong);
System.out.println("整數" + ipLong + "轉化成字符串IP地址: "
+ IP2Long.longToIP(ipLong));
//IP地址轉化成二進制形式輸出
System.out.println("192.168.0.1 的二進制形式為: "
+ Long.toBinaryString(ipLong));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -