所谓的大端模式:是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 
小端模式 所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致
例如: 下面是小端。将低位存储在低位。intel就是这么干的
 小端模式 所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致
例如: 下面是小端。将低位存储在低位。intel就是这么干的
/** 
     * int to byte[] 支持 1或者 4 个字节 
     * @param i 
     * @param len 
     * @return 
     */  
     public static byte[] intToByte(int i,int len) {  
            byte[] abyte=null;  
            if(len==1){  
                abyte = new byte[len];  
                abyte[0] = (byte) (0xff & i);  
            }else{  
                abyte = new byte[len];  
                abyte[0] = (byte) (0xff & i);  
                abyte[1] = (byte) ((0xff00 & i) >> 8);  
                abyte[2] = (byte) ((0xff0000 & i) >> 16);  
                abyte[3] = (byte) ((0xff000000 & i) >> 24);  
            }  
            return abyte;  
        }  
       public  static int bytesToInt(byte[] bytes) {  
           int addr=0;  
           if(bytes.length==1){  
            addr = bytes[0] & 0xFF;  
           }else{  
               addr = bytes[0] & 0xFF;  
               addr |= ((bytes[1] << 8) & 0xFF00);  
               addr |= ((bytes[2] << 16) & 0xFF0000);  
               addr |= ((bytes[3] << 24) & 0xFF000000);  
           }  
           return addr;  
        }  
 下面是大端: 一般网络传输都是这么干的!  
/**
	 * int to byte[] 支持 1或者 4 个字节
	 * @param i
	 * @param len
	 * @return
	 */
	 public static byte[] intToByte(int i,int len) {
	        byte[] abyte=null;
	        if(len==1){
	        	abyte = new byte[len];
	        	abyte[0] = (byte) (0xff & i);
	        }else{
	        	abyte = new byte[len];
	        	abyte[0] = (byte) ((i >>> 24) & 0xff);
	        	abyte[1] = (byte) ((i >>> 16) & 0xff);
		        abyte[2] = (byte) ((i >>> 8) & 0xff);
		        abyte[3] = (byte) (i & 0xff);
	        }
	        return abyte;
	    }
	   public  static int bytesToInt(byte[] bytes) {
		   int addr=0;
		   if(bytes.length==1){
	        addr = bytes[0] & 0xFF;
		   }else{
			   addr = bytes[0] & 0xFF;
			   addr = (addr << 8) | (bytes[1] & 0xff) ;
			   addr = (addr << 8) | (bytes[2] & 0xff) ;
			   addr = (addr << 8) | (bytes[3] & 0xff) ;
		   }
		   return addr;
	    }
   收藏的用户(0) X 
 正在加载信息~
 推荐阅读
 正确利用@media screen and制作响应式布局 
          站点信息
 -  文章2313
-  用户1336
-  访客11753564
 每日一句 
 October ends with magic and candy. 
十月以魔法和糖果收尾。
 十月以魔法和糖果收尾。
新会员
  
  
 























