Class ByteUtils{
public static int bytes2Int( byte[] bytes ){
int num =bytes[3]&0xFF;
num | =( (bytes[2]<<8) ) & 0xFF00);
num | =( (bytes[1]<<16) ) & 0xFF0000);
num | =( (bytes[0]<<24) ) & 0xFF000000);
}
public static byte[] int2Bytes( int num ){
byte[] byte = new btye[4];
// byte[0] =( num&0xFF000000)>>24;
//byte[1] =( num&0x00FF0000)>>16;
//byte[2] =( num&0x0000FF00)>>8;
//byte[3] =( num&0x000000FF);
byte[0]=(byte) ( (i>>24)&0xFF);
byte[1]=(byte) ( (i>>16)&0xFF);
byte[2]=(byte) ( (i>>8)&0xFF);
byte[3]=(byte) (i&0xFF);
return byte;
}
}
8为二进制0000 0000
2.二进制在计算机中以补码形式存在
正数的补码就是它本身
负数的补码是对应正数的原码取反加1得到
3.-1的补码是 1的原码0000 0001 取反加1就是 1111 1111
4.unsigned是无符号数,把1111 1111看成正数 255 因为255的二进制为(1111 1111)
2.二进制在计算机中以补码形式存在
正数的补码就是它本身
负数的补码是对应正数的原码取反加1得到
3.-1的补码是 1的原码0000 0001 取反加1就是 1111 1111
4.unsigned是无符号数,把1111 1111看成正数 255 因为255的二进制为(1111 1111)
你RGBA,每个一个字节,java里面没有无符号,还要
byte
byte