问题还可以变一下:
byte[] b={12,14,15,16};
把b连成一个32位的;
然后按4位一取,换成16进制,输出?
------解决方案--------------------
public class ByteTran {
static byte[] b={12,14,15,16};
public static void main(String[] args){
Integer resut = 0;
for(int i = 0; i < b.length; i++){
resut
------解决方案--------------------
= (b[i]<<((b.length-i-1)*8));
}
//输出十六进制
System.out.println(Integer.toHexString(resut));
}
}
------解决方案--------------------
补充一下,由于java里面没有unsigned byte,所以需要通过&0xff将符号位去掉。
int convertBytesToInt(byte[] b)
{
if(b == null
------解决方案--------------------
b.length != 4)
return 0;
int n0 = b[3];
n0= (n0&0xff)<<24;
int n1 = b[2];
n1= (n1&0xff)<<16;
int n2 = b[1];
n2= (n2&0xff)<<8;
int n3 = b[0];
n3= (n3&0xff)<<24;
return n0
------解决方案--------------------
n1
------解决方案--------------------
n2
------解决方案--------------------
n3;
}