我有一个将int转换为byte []
的方法private static byte[] intToBytes(int i)
{
byte[] integerBs = new byte[MAX_INT_LEN];
integerBs[0] = (byte) ((i >>> 24) & 0xFF);
integerBs[1] = (byte) ((i >>> 16) & 0xFF);
integerBs[2] = (byte) ((i >>> 8) & 0xFF);
integerBs[3] = (byte) (i & 0xFF);
return integerBs;
}
我想说我尝试将整数4转换为位:
byte[] lenBs = intToBytes(4);
int a=(int)lenBs[0];
System.out.println("result:"+a);
MAX_INT_LENGTH的值为4
我得到结果:0作为方法的参数放入的每个int。请告诉我哪里出错了。谢谢。
答案 0 :(得分:2)
lenBs [0]刚刚获得:
integerBs[0] = (byte) ((i >>> 24) & 0xFF);
...在i = 4的情况下,integerBs [0] == 0。