zoukankan      html  css  js  c++  java
  • byte数组和int,long之间的互相转换

     public static long byteToLong(byte[] value) {
            long temp = 0;
            for (int i = 0; i < value.length; i++) {
                temp = (temp | value[i]) << 8;
            }
            return temp;
        }
     public static byte[] longToByte(long number) {
            long temp = number;
            byte[] b = new byte[8];
            for (int i = b.length - 1; i >= 0; i--) {
                b[i] = Long.valueOf(temp & 0xff).byteValue();// 将最低位保存在最高位
                temp = temp >> 8; // 向右移8位
            }
            return b;
        }

        public static byte[] intToByte(int number) {
            int temp = number;
            byte[] b = new byte[4];
            for (int i = b.length - 1; i >= 0; i--) {
                b[i] = Integer.valueOf(temp & 0xff).byteValue();// 将最低位保存在最高位
                temp = temp >> 8; // 向右移8位
            }
            return b;
        }


    public static long byteToLong(byte[] value) {
            long temp = 0;
            for (int i = 0; i < value.length; i++) {
                temp = (temp | value[i]) << 8;
            }
            return temp;
        }
    /**
         * byte数组中取int数值,本方法适用于(低位在前,高位在后)的顺序,和和intToBytes()配套使用    
    *      
    * @param src     
    *            byte数组     
    * @param offset     
    *            从数组的第offset位开始     
    * @return int数值     
    */    
    public static int bytesToInt(byte[] src, int offset) {  

        int value;    

        value = (int) ((src[offset] & 0xFF)   

                | ((src[offset+1] & 0xFF)<<8)   

                | ((src[offset+2] & 0xFF)<<16)   

                | ((src[offset+3] & 0xFF)<<24));  return value;  

    }  

    1. /**  
    2.     * byte数组中取int数值,本方法适用于(低位在后,高位在前)的顺序。和intToBytes2()配套使用 
    3.     */  
    4. public static int bytesToInt2(byte[] src, int offset) {  
    5.     int value;    
    6.     value = (int) ( ((src[offset] & 0xFF)<<24)  
    7.             |((src[offset+1] & 0xFF)<<16)  
    8.             |((src[offset+2] & 0xFF)<<8)  
    9.             |(src[offset+3] & 0xFF));  
    10.   return value;  
      1. public static byte[] intToByte4(int Num)
      2.   {  
      3.  byte[] abyte=new byte[8]; //int为32位除4位,数组为8   
      4. int j=0xf;    
      5. int z = 4; //转换的位数    
      6. for (int i = 0; i < 8; i++)   
      7. {    
      8. int y = j << z * i;   
      9.  int x = Num & y;    
      10. x = x >> (z * i);    
      11. abyte[i] = (byte)(x);   
      12. }    
      13. return abyte;  
      14. }
  • 相关阅读:
    CSS 选择器
    CSS 用法和特性
    Objective-C 事件响应链
    苹果签名机制
    欧几里得算法
    扩展欧几里得算法
    RSA算法
    动态库加载和代码签名
    __attribute__
    信息熵
  • 原文地址:https://www.cnblogs.com/ting5/p/5323035.html
Copyright © 2011-2022 走看看