1.java中 byte转int (特别注意)
byte b=0x01;
int a=0xff&b; //正确
2. java中 int转byte
int a=0x01;
byte b=(byte)(a);
原因:java中byte是8位 -128~127之间,而int是32bit,在转化前需将高24位置零,这样就不会出现补码导致的转换错误。
1.java中 byte转int (特别注意)
byte b=0x01;
int a=0xff&b; //正确
2. java中 int转byte
int a=0x01;
byte b=(byte)(a);
原因:java中byte是8位 -128~127之间,而int是32bit,在转化前需将高24位置零,这样就不会出现补码导致的转换错误。