class convert
{
static int[] _MoveX={0xff,0xff00,0x0ff0000,0xff000000};
static byte[] uintoBytes(int IntegerSize)
{
byte Byte4Size[] = new byte[4];
for(int i = 0 ;i<4;i++)
Byte4Size[i] = (byte)((IntegerSize & _MoveX[i]) >> (i*8));
return Byte4Size;
}
static int byte4toInt(byte[] Byte4Size)
{
int integer = 0;
for(int i = 0;i<4;i++){
int int_temp = 0;
int_temp= int_temp | ((int)Byte4Size[i] & 0xff);
integer = integer | (int_temp<<(i*8));
}
return integer;
}
}
{
static int[] _MoveX={0xff,0xff00,0x0ff0000,0xff000000};
static byte[] uintoBytes(int IntegerSize)
{
byte Byte4Size[] = new byte[4];
for(int i = 0 ;i<4;i++)
Byte4Size[i] = (byte)((IntegerSize & _MoveX[i]) >> (i*8));
return Byte4Size;
}
static int byte4toInt(byte[] Byte4Size)
{
int integer = 0;
for(int i = 0;i<4;i++){
int int_temp = 0;
int_temp= int_temp | ((int)Byte4Size[i] & 0xff);
integer = integer | (int_temp<<(i*8));
}
return integer;
}
}
byte byteY = (byte)intX;
//It is ok
byte[] b = new byte[4];b[0] = new Integer(i & 0x000000FF).byteValue();
b[1] = new Integer((i & 0x0000FF00) >>> 8).byteValue();
b[2] = new Integer((i & 0x000000FF) >>> 16).byteValue();
b[3] = new Integer((i & 0x000000FF) >>> 24).byteValue();Anyway, hope this will be of use.
大家的方法我晚上回去后都试试to lgcheng(dragon):
一个字节是放不下超过256的数的吧!
BigInteger.toByteArray() 不能总是将一个int值变为4个byte
b[0] = new Integer(i & 0x000000FF).byteValue();
b[1] = new Integer((i & 0x0000FF00) >>> 8).byteValue();
b[2] = new Integer((i & 0x00FF0000) >>> 16).byteValue();
b[3] = new Integer((i & 0xFF000000) >>> 24).byteValue();
Thanks :)