public class SplitIntAndCombineIntoInt {
public static byte[] splitInt(int num) {
byte[] ret= new byte[4];
for(int i = 0;i < 4;++i) {
ret[i] = (byte)(num>>(i*8));
// ret[i] = (byte)(num>>>(i*8)); //true
// ret[i] = (byte)((num >> (i*8)) & 0xFF); //true
}
return ret;
}
public static int combineIntoInt(byte[] bytes) {
int ret = 0;
for(int i = 0;i < bytes.length;++i) {
ret += ((bytes[i] & 0xFF) << i * 8);
}
return ret;
}
public static void main(String[] args) {
// int num = 1024;
int num = 11111111;
byte[] bytes = splitInt(num);
// for(int i = 0;i < 4;++i) {
//
// System.out.println(bytes[i]);
// }
int newNum = combineIntoInt(bytes);
System.out.println("The original number is " + num);
System.out.println("The combined number is " + newNum);
}
}