0x85用8421转换为二进制为:
10000101(源码)
01111010(反码)
01111011(补码)
负数在计算机中是用补码表示的,
01111011用权求得十进制值为123D
0* 2^(7) + 1* 2^(6) + 1* 2^(5) + 1* 2^(4) + 1* 2^(3) + 0* 2^(2) + 1* 2^(1) + 1* 2^(0),前面加负号就是-123D;
无符号数直接转换成十进制,为8*16^(1)+5*16^(0)=133D.
PS:不知道你给的答案是错误的还是什么原因,十六进制的85H转换为十进制不可能只有两位数,况且,8位二进制最多只能表示256个数,不可能无符号数只是55D~
按照前面的推理:
0x57如果是无符号数,直接转换为原码,5*16^(1)+7*16^(0)=87D
0x57转换为二进制:
01010111(原码)
10101000(反码)
10101001(补码)
因此有符号数得到的值是:169D