java把ip地址存放到一个int型变量
?
package com.zwx;
public class test {
public static void main(String[] args) {
byte[] bt = new byte[4];
bt[0] = 111;
bt[1] = 112;
bt[2] = 113;
bt[3] = 114;
int i = byteArrayToInt(bt);
System.out.println("int--->" + i);
byte[] b = intToByteArrayl(i);
System.out.print("ip--->");
for (byte bb : b) {
System.out.print(bb + ".");
}
}
//int转ip(字节数组)
public static byte[] intToByteArrayl(int i) {
byte[] result = new byte[4];
result[0] = (byte)((i >> 24) & 0xFF);
result[1] = (byte)((i >> 16) & 0xFF);
result[2] = (byte)((i >> 8) & 0xFF);
result[3] = (byte)(i & 0xFF);
return result;
}
//ip(字节数组)转int
public static int byteArrayToInt(byte[] b) {
int value = 0;
for (int i = 0; i < 4; i++) {
value |= b[i];
if ( i < 3 ) {
value = value << 8;
}
}
return value;
}
}
?
运行结果:
int--->1869640050
ip--->111.112.113.114.
?
原文:http://halloffame.iteye.com/blog/2253008