[size=x-large]int与byte数值相互转化,在网上找了下,发现好多都是错误的,写个自己的。希望能帮到有需要的人:[/size]
[size=large]
private static byte[] int2ByteArr(int i) {
byte[] arr = new byte[4];
int m = (i >> 24 ) & 0xff;
int n = (i >> 16 ) & 0xff;
int k = (i >> 8 ) & 0xff;
int d = i & 0xff;
System.out.println(m + ", " + n + ", "+ k );
arr[0] = (byte) m;
arr[1] = (byte) n;
arr[2] = (byte) k;
arr[3] = (byte) d;
System.out.println(arr[0] + ", " + arr[1] + ", "+ arr[2] + ", "+ arr[3] );
return arr;
}
private static int byteArr2Int(byte[] arr) {
int m = (arr[0] & 0xff) << 24;
int n = (arr[1] & 0xff) << 16;
int k = (arr[2] & 0xff) << 8;
int d = (arr[3] & 0xff) << 0;
System.out.println(m + ", " + n + ", "+ k );
int i = m + n + k + d;
System.out.println(i);
return i;
}
[/size]
[size=large]
private static byte[] int2ByteArr(int i) {
byte[] arr = new byte[4];
int m = (i >> 24 ) & 0xff;
int n = (i >> 16 ) & 0xff;
int k = (i >> 8 ) & 0xff;
int d = i & 0xff;
System.out.println(m + ", " + n + ", "+ k );
arr[0] = (byte) m;
arr[1] = (byte) n;
arr[2] = (byte) k;
arr[3] = (byte) d;
System.out.println(arr[0] + ", " + arr[1] + ", "+ arr[2] + ", "+ arr[3] );
return arr;
}
private static int byteArr2Int(byte[] arr) {
int m = (arr[0] & 0xff) << 24;
int n = (arr[1] & 0xff) << 16;
int k = (arr[2] & 0xff) << 8;
int d = (arr[3] & 0xff) << 0;
System.out.println(m + ", " + n + ", "+ k );
int i = m + n + k + d;
System.out.println(i);
return i;
}
[/size]