71H--> 0111 0001 最高位为0,所以是一个正数,正数的补码与真值相等,转换成10进制数就是7*16+1=113
cf42h-->1100 1111 0100 0010 从最高可以看出是一个负数,负数的补码先一减1再求反,即:
减1:1100 1111 0100 0001
求反:1011 0000 1011 1110
对应16进制真值为:-30BEH=-(3*16*16*16+11*16+14),用计算器算一算就行了.
补码是 71H = 0111 0001。
各位之和: 64 + 32 + 16 + 1 = 113。
总和,就是真值:+113。
--------------
补码是 CF42H = 1100 1111 0100 0010。
首位的 1,既代表负号,也代表数值-32768。
其余各位之和: 16384 + 2048 + 1024 + 512 + 256 + 64 + 2 = 20290。
总和,就是真值:-32768 + 20290 =-12478。