补码如何变成原码?int a=0x81;    //补码
int b=~(a-1);   //转换为原码
结果计算出来为-129;
希望有高手解答.
另外问下进制转换
如果 
byte[] bytArrive=new byte[100];
bytArrive[0]=0x81;
bytArrive[1]=0x11;
2字节16进制数转换为10进制有什么好的办法.
我自己写的是
int a=(bytArrive[0]>>4 & 0x0f)*math.pow(16,3);
a+=(bytArrive[0] & 0x0f)* math.pow(16,2);
a+=convert.toint16(bytArrive[1]);
得出10进制.有没有简单更好的办法.
如果这2字节16进制数是补码,如果转换为10进制数呢????
分不多  ,希望有人教下.....