**
* Name : ByteIntSwitch.java
*
* Function: get an int, convert it to a byte[];
* get a byte[], convert it to int value;
*
*/
public class ByteIntSwitch {
public static void main(String[] args){
Integer itr=new Integer(600000000);
byte[] b=toByteArray(itr.intValue());
int j=toInt(b);
System.out.println(j);
public static void main(String[] args){
Integer itr=new Integer(600000000);
byte[] b=toByteArray(itr.intValue());
int j=toInt(b);
System.out.println(j);
}
// 将iSource转为长度为iArrayLen的byte数组,低位是低字节--见代码中举例
// 若低位是高字节,只需for中从高到低递减,而非从低到高递增
public static byte[] toByteArray(int iSource) {
byte[] bLocalArr = new byte[4];
for ( int i = 0; i < 4; i++) {
bLocalArr[i] = (byte)( iSource>>8*i & 0xFF );
}
return bLocalArr;
}
// 将byte数组bRefArr转为一个整数,低位是低字节--见代码中举例
// 若低位是高字节,只需for中从低到高递增,而非从高到低递减
public static int toInt(byte[] bRefArr) {
int iOutcome = 0;
for ( int i = 0; i < 4; i++) {
iOutcome += (bRefArr[i]& 0xFF) << (8 *i) ;
}
return iOutcome;
}
}
// 将iSource转为长度为iArrayLen的byte数组,低位是低字节--见代码中举例
// 若低位是高字节,只需for中从高到低递减,而非从低到高递增
public static byte[] toByteArray(int iSource) {
byte[] bLocalArr = new byte[4];
for ( int i = 0; i < 4; i++) {
bLocalArr[i] = (byte)( iSource>>8*i & 0xFF );
}
return bLocalArr;
}
// 将byte数组bRefArr转为一个整数,低位是低字节--见代码中举例
// 若低位是高字节,只需for中从低到高递增,而非从高到低递减
public static int toInt(byte[] bRefArr) {
int iOutcome = 0;
for ( int i = 0; i < 4; i++) {
iOutcome += (bRefArr[i]& 0xFF) << (8 *i) ;
}
return iOutcome;
}
}