一、無符號和有符號的區別
無符號數中,所有的位都用於直接表示該值的大小。其范圍為0-255,
而有符號位最高位為符號位,所以其范圍為 -128-0-127
二、整形int 和byte 的關系
1 int =4 byte 1byte=8 bit
所以int 最大值為2的4*8-1次方 byte 最大值為2的1*8-1
三、不同長度字節轉int 高字節在前
public static int bytes2Int(byte[] bytes ) { //如果不與0xff進行按位與操作,轉換結果將出錯,有興趣的同學可以試一下。 if(bytes.length==1){ return bytes[0]&0xff; }else if(bytes.length==2){ int int1=bytes[1]&0xff; int int2=(bytes[0]&0xff)<<8; return int1|int2; }else if(bytes.length==3){ int int1=bytes[2]&0xff; int int2=(bytes[1]&0xff)<<8; int int3=(bytes[0]&0xff)<<16; return int1|int2|int3; }else if(bytes.length==4){ int int1=bytes[3]&0xff; int int2=(bytes[2]&0xff)<<8; int int3=(bytes[1]&0xff)<<16; int int4=(bytes[0]&0xff)<<24; return int1|int2|int3|int4; } return -1; }