补码如何变成原码?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进制数呢????
分不多 ,希望有人教下.....
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进制数呢????
分不多 ,希望有人教下.....
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货