java 将int拆分为4个byte的byte数组,再将byte数组合并为int

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);
    }
    
}
 

你可能感兴趣的:(java,分解int为byte数组,将byte数组合并为int,java移位)