如何将一个2位的byte数组转为1个int?

解决方案 »

  1.   

     
    public int bytes2int(byte[] b)
            {
                int mask = 0xff;
                int temp = 0;
                int res = 0;
                for (int i = 0; i < 2; i++)
                {
                    res <<= 8;
                    temp = b[i] & mask;
                    res |= temp;
                }
                return res;
            }
      

  2.   

    byte[] arr=new byte[22,23];
    16进制的,将2个数合为一个10进制的int
      

  3.   


    int s;
    byte bytes[2] = {12,12};
    s = bytes[0] + bytes[1] << 8;
      

  4.   

    这个问题要看你怎么定义数组了如果你定义高位在后,低位在前,则s = bytes[0] + bytes[1] << 8;
    如果高位在前,低位在后,则
    s = bytes[0] << 8 + bytes[1];